onMeasure
来源:互联网 发布:edius有mac版吗 编辑:程序博客网 时间:2024/06/06 04:46
onMeasure有三种MeasureSpec.EXACTLY,MeasureSpec.AT_MOST,MeasureSpec.UNSPECIFIED
可以理解为精确(如:200dp,match_parent),不超过最大值(wrap_content),未知的
最后调用setMeasuredDimension(width,height);来设置view的大小
<com.lyg.testdemo.TestView android:layout_width="200dp" android:layout_height="match_parent"/>
日志:E/TAG: EXACTLY
<com.lyg.testdemo.TestView android:layout_width="wrap_content" android:layout_height="match_parent"/>
日志:E/TAG: AT_MOST
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); int widthSize=getWidthSize(widthMeasureSpec); int heightSize=getHeightSize(heightMeasureSpec); setMeasuredDimension(widthSize,heightSize); } private void getWidthSize(int widthMeasureSpec) { int mode = MeasureSpec.getMode(widthMeasureSpec); switch (mode) { case MeasureSpec.EXACTLY: Log.e("TAG", "EXACTLY"); break; case MeasureSpec.AT_MOST: Log.e("TAG", "AT_MOST"); break; case MeasureSpec.UNSPECIFIED: Log.e("TAG", "UNSPECIFIED"); break; default: break; } } private void getHeightSize(int heightMeasureSpec) { int mode = MeasureSpec.getMode(heightMeasureSpec); switch (mode) { case MeasureSpec.EXACTLY: break; case MeasureSpec.AT_MOST: break; case MeasureSpec.UNSPECIFIED: break; default: break; } }
0 0
- onmeasure
- onMeasure
- onMeasure
- onMeasure
- OnMeasure()
- onMeasure
- onMeasure
- 关于onMeasure
- 关于onMeasure
- onMeasure方法
- 理解onMeasure
- OnMeasure()有啥用?
- 理解onMeasure
- android Onmeasure
- onMeasure方法
- onLayout onMeasure
- Android OnMeasure
- Android onMeasure()
- leetcode: Find the Duplicate Number
- 格局致胜
- 数据挖掘十大经典算法
- 深度学习系列(2)——神经网络与深度学习
- 大型网站技术架构读书笔记02—大型网站架构模式
- onMeasure
- python的元组和列表使用之一
- 判断浏览器的方法
- web学习博客2016/2/19
- iOS屏幕适配
- 详说 Cookie, LocalStorage 与 SessionStorage
- HDU 5372 Segment Game - 离散化&树状数组
- 资料整理工具推荐mybase,本人使用
- c语言入门之项目2.0——成绩等级