自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhou12314的专栏

业精于勤,荒于嬉;行成于思,毁于随

  • 博客(3)
  • 收藏
  • 关注

原创 View框架之draw()流程

在前两篇我们分别描述了View的测量和布局,今天我们就针对绘制的最后一步draw()进行分析。   在开始我们还是先贴张时序图,然后针对图中的方法进行梳理--  draw()流程相对于测量和布局要简单很多,我们还是从ViewRootimpl中的performDraw()开始分析  private void performDraw() { /** 省略部分代码 draw(

2016-11-03 17:15:11 736

原创 View框架之layout()流程

在上一篇我们分析了view的measure()流程,当我们把view测量出来以后,接着就要算出这个view的在这个屏幕的具体位置,所以这一篇我们接着分析layout()流程,废话不多说,还是先来一张流程图,下面会根据这个流程图进行讲解-注意:RootView是一个FrameLayout,所以也是一个ViewGroup - -  layout()过程和measure()过程一样,起点都是在View

2016-11-02 14:10:16 494

原创 View框架之measure()流程

一:先来张View体系中measure()流程的时序图注意:1.以下MeasureSpec用ms来代替(ms具体会在后面介绍) 2.该时序图描述的是从ViewRootImpl开始的measure()过程,因为ViewRootImpl是window与view连接的枢纽 3.该时序图着重于大概流程及重要方法的作用,具体代码细节会放到后面介绍二:MesureSpec简介 (以下简称m

2016-11-01 01:06:42 770

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除