我们首先知道在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函数执行之后,就可以正确获取到控件的高度以及宽度。

更多相关文章

  1. 使用主题Theme实现Android沉浸式状态栏
  2. 2.Android开发---xml布局文件中的常见属性总结
  3. android中关于scrollview内部组件android:layout_height="fill_p
  4. 一行代码搞定Android屏幕适配
  5. Android(安卓)在代码中控制View的填充方式和宽度、高度
  6. Android(安卓)屏幕适配(1)
  7. Android中如何使控件保持固定宽高比
  8. RecyclerView机制解析: ItemDecoration
  9. Android修改TitleBar标题栏详解

随机推荐

  1. android 第一次运行应用的引导界面
  2. android使用util工具包
  3. Android(安卓)Socket网络通信
  4. Android设计模式系列(0)--开篇
  5. Android(安卓)AsyncTask
  6. android Canvas清屏只需三句话
  7. Android打开关闭触摸提示音
  8. android camera调试命令
  9. Android学习备忘022——FBReader源码解析
  10. 优化布局在Android–减少过度渲染