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.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在布局中可以取得多大
相关文章推荐
- 自定义ViewGroup (1)支持margin,gravity以及水平,垂直排列
- measureSpec 介绍
- Android如何自定义视图之测量和布局原理(一)
- 自定义ViewGroup实现水平布局空间不足自动换行的效果
- 关于onMeasure ()和onLayout()的一些个人理解
- Android流式布局FlowLayout的实现,Android布局的内部机制onMeasure、onLayout
- wrap_content的困惑
- 自定义View之onMeasure()详解
- 浅析ViewGroup中的MeasureSpec和LayoutParams
- Android View.onMeasure方法的理解
- android自定义View中onMeasure的使用
- ListView嵌套GridView显示不全解决方法
- Android - Compass(罗盘) 详解
- 关于 MeasureSpec,view中measure 的整理
- Android的View绘制过程,onMeasure()方法介绍
- MeasureSpec
- Android自定义View初探(一)——饼图
- 戏说View的绘制流程
- onMeasure,MeasureSpec源码 流程 思路详解(ANDROID自定义视图)
- Android View 的工作流程和原理 推荐