android - 动态获取布局的高度和宽度

标签 android android-layout

在我的应用程序中,我在布局中添加了许多具有以下属性的 View ,我该如何在运行时获得正确的布局高度

        LinearLayout ll = new LinearLayout(this);
        ll.setLayoutParams(new LayoutParams(840,LayoutParams.WRAP_CONTENT));
        ll.setOrientation(LinearLayout.VERTICAL);

        ll.addView(view1); 
        ll.addView(view2);

        ll.getHeight();

此时如何获得布局的高度考虑添加 view1 和 view2 ,而不考虑我的属性(LayoutParams.WRAP_CONTENT),因为它总是返回 0 给我?

最佳答案

尝试这种方式,希望这能帮助您解决问题。

int width;
int height;

ll.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
   @Override
   public void onGlobalLayout() {
     width = view.getMeasuredWidth();
     height = view.getMeasuredHeight();

   }
});

关于android - 动态获取布局的高度和宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24710938/

相关文章:

android - 在另一个应用程序 Android 中启动一个应用程序

android - FileObserver callback 不会触发(stackoverflow 的相关话题中有详细提到)

android - 可拖动 View 内的 SeekBar (SlideHolder)

Android 录音图表/图表

android - Ionic Datepicker 和 Timepicker

android - 使用联合登录 (OpenID) 从 Android 应用程序对 App Engine 进行身份验证

Android ScrollView fillViewport 不工作

java - R无法解决(XML问题但找不到)

Android studio TextViews 随 android_below 一起消失

Android GridLayout 切断