在 onCreate 和 onCreateView 中获取控件宽高的方法

来源:互联网 发布:mysql dns反向解析 编辑:程序博客网 时间:2024/05/17 22:52

在 onCreate 和 onCreateView 中获取控件宽高的方法.

当 fragment 和 activity再 执行 onCreate 和 onCreateView 的时候,通常是获取不到其中空间的宽度高度等信息.


但有时候我们项目中恰恰需要在 onCreate 和 onCreateView 方法中知道某空间的宽高等信息,有两种方法


方法一

//view.post(runnable)会在 onMeasure 和 onLayout 之后执行 rvCertificate.post(() -> {            rvHeight = rvCertificate.getHeight();        });        refreshContainer.post(() -> {            refreshHeight = refreshContainer.getHeight();        });

方法二

view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { 2         @Override 3         public void onGlobalLayout() { 4             mScrollView.post(new Runnable() { 5                 public void run() { 6                     view.getHeight();  7                 } 8             }); 9         }10 });

此方法是当其他 view 的 layout 发生改变时都会被调用

阅读全文
0 0
原创粉丝点击