您的位置:首页 > 其它

MeasureSpec

2015-09-18 13:21 176 查看
MeasureSpec.getMode

MeasureSpec.getSize

子view在决定大小的时候,会受到父view的影响,子view不能越界,所以,子view必须确定父view能够提供多大

MeasureSpec.getSize就是从父view得到大小

MeasureSpec是view的静态内部类,所以MeasureSpec可以直接访问该view,然后getparent,访问外布局

MeasureSpec.getSize既然已经可以取得大小,MeasureSpec.getMode是干什么的呢?

这是因为布局提供的参数是多种多样的

比如,wrap_content和match_parent就不同

wrap_content实际上是最多能够得到多大,但是没人知道需要多大,这时候就需要计算,这时候返回的类型就是AT_MOST

得到这个返回值的时候就需要自己计算,否则,比如match_parent,MeasureSpec.getMode得到的返回值就是EXACTLY,就是精确的,MeasureSpec.getSize就直接返回具体的值,

所以,要根据返回的模式,然后才确定子view在布局中可以取得多大
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MeasureSpec onmeasure