onmeasure方法里的参数说明以及用width和height中所需要注意的事项
来源:互联网 发布:postscript软件下载 编辑:程序博客网 时间:2024/05/01 01:36
@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int measureWidth = MeasureSpec.getSize(widthMeasureSpec); setMeasuredDimension(measureWidth, (int) (measureWidth * 6F / 7F) / count);}
这个是比较常见的onmeasure方法下确定view宽和高的方法,它的参数是由父布局传递给子布局的,
一个MeasureSpec封装了父布局传递给子布局的布局要求,每个MeasureSpec代表了一组宽度和高度的要求。
一个MeasureSpec由大小和模式组成。它有三种模式:UNSPECIFIED(未指定),父元素部队自元素施加任何束缚,
子元素可以得到任意想要的大小;EXACTLY(完全),父元素决定自元素的确切大小,
子元素将被限定在给定的边界里而忽略它本身大小;AT_MOST(至多),子元素至多达到指定大小的值。
通过getsize()方法拿到尺寸,通过setMeasuredDimension方法进行设置。
注:在我们自定义view时,常常会拿到父布局view的尺寸,而在运行时,布局需要经过onmeasure,onlayout,ondraw方法后才会显示,在onmeasure方法执行
后才能使用width和height,不然会出现运行错误。通常这种情况有两种解决方法:
1⃣️view.getViewTreeObserver().addOnGlobalLayoutListener(new OnOnGlobalLayoutListener(){
@override
public void onGlobalLayout(){
view.getViewTreeObserver().removeGlobalLayoutListener(this);
view.getChildAt(1).getLeft() - view.getChildAt(0).getLeft();
}
});
2⃣️view.measure(0,0);
view.getMeasuredHeight();这样也能拿到测量之后的高度
- onmeasure方法里的参数说明以及用width和height中所需要注意的事项
- 在view中获取height和width的方法
- 在onCreate()方法中获取view的width和height
- canvas标签的width和height以及style.width和style.height的区别
- canvas标签的width和height以及style.width和style.height的区别
- canvas标签的width和height以及style.width和style.height的区别
- 去掉img标签里的width 和 height的属性
- Aix中crontab需要注意的事项
- SEO中需要注意的事项
- 文件上传所需要注意的常见事项
- 开发一个蓝牙耳机所需要注意的事项
- 开发一个蓝牙耳机所需要注意的事项
- sqlserver 转 oracle 所需要注意的事项
- Android7.0适配所需要注意的一些事项
- UI-数据库的“删”“添”“改”“查”方法,以及需要注意的事项........
- LR参数化的基本过程及其在过程中需要注意的事项
- 配置-Djava.ext.dir参数需要注意的事项
- 数组参数传递时需要注意的事项
- 2016.5.3号的工作经验分享总结
- mybatis通用DAO
- 无法启动mysql服务
- zoj1311
- Qt中各种数据类型之间的转换
- onmeasure方法里的参数说明以及用width和height中所需要注意的事项
- 安卓面向2017
- Hibernate设置时间戳的默认值和更新时间的自动更新
- 使用Jaspersoft Studio绘制报表
- 安装windows 7系统的流程及基本问题解决
- 手机网页制作需要注意的问题
- 拿什么拯救自己
- CMD进入MYSQL
- JenKins结合cppcheck及cpplint进行代码风格及静态代码检测