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

时间:2015-02-24 20:37:44

标签: android view

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

public static View sv;

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

sv = new View(this);

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

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

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

1 个答案:

答案 0 :(得分: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
            }
        });