Android中获取控件的宽度以及高度的几种方法
16lz
2021-01-24
我们首先知道在Android中直接布局完成之后,并不能直接获取到控件的高度以及宽度,直接获取会发现width以及height是0,因此,我们通过其他方法来获取宽度以及高度。
1、利用View.measure强制测量。
textView.measure(0,0);
当传入0的时候会进行强制测量,执行onMeasure。
2、利用观察者注册视图的观察树。
textView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { }});
在onGlobalLayout中测量高度。
3、利用View.post(Runnable)实现。
simpleImageView.post(new Runnable() { @Override public void run() { int mHeight=simpleImageView.getHeight(); int mWidth=simpleImageView.getWidth(); }});在整个测试的过程中,是要onLayout函数执行之后,就可以正确获取到控件的高度以及宽度。
更多相关文章
- 使用主题Theme实现Android沉浸式状态栏
- 2.Android开发---xml布局文件中的常见属性总结
- android中关于scrollview内部组件android:layout_height="fill_p
- 一行代码搞定Android屏幕适配
- Android(安卓)在代码中控制View的填充方式和宽度、高度
- Android(安卓)屏幕适配(1)
- Android中如何使控件保持固定宽高比
- RecyclerView机制解析: ItemDecoration
- Android修改TitleBar标题栏详解