View在构造函数初始化并未布局处理,此时宽高均为0,待所有控件初始化完毕后,由上级容器对内部各控件进行布局,
此时控件才会具有位置与大小属性,可以通过以下方法获取:
1.在ondraw()函数中获取,
2.通过view.post(this)开启线程来获取,
3.通过view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
相关文章
- 12-16根据设备宽高设置View的大小
- 12-16vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴
- 12-16.Net 上传图片之前获取图片的宽高
- 12-16调整UILabel行高间距并返回自定义宽高度
- 12-16vue使用自定义指令监听元素宽、高变化
- 12-16dom 操作总结即获取图片的样式和宽高
- 12-16Unity3D -- 获取游戏屏幕的宽高
- 12-16《OpenCV获取图像属性(行高、列宽、通道数等)》
- 12-16关于 Ant框架中 <a-upload> beforeUpload 获取图片的宽高以及返回false 还能上传的问题
- 12-16ugui在运行时改变RectTransform的大小和获取宽高