如何在android中获得wrap_content或match_parent布局的宽度和高度?

时间:2016-11-19 09:20:08

标签: android height width

我想在某些Android设备上获取我的布局或视图(不是屏幕尺寸)宽度,所以我该怎么做?例如:

<LinearLayout
     android:orientation="vertical"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:layout_weight="1"
     android:paddingRight="8dp"
     android:paddingLeft="8dp"
     android:id="@+id/layout_scrol_left"/>

我有这个布局,我想在运行时获得布局宽度和高度尺寸(在倾角中),我该怎么做?

2 个答案:

答案 0 :(得分:5)

首先,你需要采取你的布局。

LinearLayout ll_left = (LinearLayout)findViewById(R.id.layout_scrol_left);

现在如果还没有绘制ll_left,ll_left.getHeight()和ll_left.getWidth()将返回0。

所以你必须在绘制视图后得到它们:

ll_left.post(new Runnable(){
    public void run(){
       int height = ll_left.getHeight();
       int weight = ll_left.getWidth();
    }
});

答案 1 :(得分:1)

我认为你可以使用像

这样的东西
    LinearLayout myView =(LinearLayout)findViewById(R.id.layout_scrol_left);

并且可以在UI线程调整大小并放置后使用下面的方法

    myview.getHeight();
    myview.getWidth();

希望这会有所帮助。

如果您在使用上述方法时出现问题,请查看getWidth() and getHeight() of View returns 0