您当前的位置: 首页 >  android

郭梧悠

暂无认证

  • 4浏览

    0关注

    402博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Android 测量流程详解

郭梧悠 发布时间:2015-03-21 14:24:38 ,浏览量:4

  

Android  View measure的最终结果是把layout_width和layout_height所设置的相对值转换为具体值的过程。MeasureSpec的种类分为MeasureSpec.EXACTLY(确定的)、MeasureSpec.AT_MOST(最多)、MeasureSpec.UNSPECIFIED(没有限制)。对于一个View来说它的宽和高各有属于自己的specMode,至于其具体作用后面会有说说明,先来说说这三个变量的作用:

1、MeasureSpec.EXACTLY:”确定的“,意思是parentView希望childView的大小是确定的,为specSize.

2、MeasureSpec.AT_MOST:“最多”,意思是childView的大小最多是specSize指定的值。

3、MeasureSpec.UNSPECIFIED:“没有限制”,此时View的设计者可以根据自身的特性设置视图的大小。

measureSpec的参数是由parentView传递给childView的,目的是告诉childView 可以提供的实际尺寸。MeasureSpec提供了三个方法

    1)makeMeasureSpec(int size,int mode):size参数由程序员自己设定,mode必须是specMode的三个值中的一个

    2)getMode(int measureSpec):见名知意,方法返回specMode的三个值中的一个,注意方法参数measureSpec,这个参数的值是怎么得来的呢?正是由makeMeasureSpec方法计算出来的

   3)getSize(int measureSpec):获取View的大小,方法

关注
打赏
1663674776
查看更多评论
立即登录/注册

微信扫码登录

0.0460s