如何以编程方式更改View的尺寸?

问题描述 投票:0回答:1

我只想要一个具有一定尺寸的空视图。我在这里声明了引用变量:

public static View sv;

我在我的活动的onCreate方法中实例化视图:

sv = new View(this);

然后尝试在其下方设置尺寸:

sv.setLayoutParams(new FrameLayout.LayoutParams(100, 100));

但是当我调用sv.getWidth()和sv.getHeight()时,它们仍然返回0

android view
1个回答
1
投票

高度和宽度仅在OnCreate()和OnResume()之后具有值。尝试使用此方法获取高度和宽度。

更新

您可以根据目标使用布局侦听器。例如,在onCreate()中:

final View view = findViewById(android.R.id.view);
        view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                //Now you can change the dimensions
            }
        });
© www.soinside.com 2019 - 2024. All rights reserved.