以编程方式获取Android中LinearLayout或RelativeLayout的高度



我需要在Android中以编程方式获取LinearLayout或RelativeLayout的长度,就像我有一个LinearLayouts一样,如下

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" > 

我需要通过计算屏幕高度来增加位于屏幕中间的布局的高度,并根据屏幕高度进行计算来增加或减少其高度。因此,有一种方法可以计算高度设置为wrap_content的Layout的高度。我试图从布局参数中获取高度,但它给我的值是-1或-2,而不是以像素或密度像素为单位的高度。

当然,match_parent和wrap_content等于-1和-2。

在这种情况下,请尝试使用viewTreeObserver。

这里有一个很好的链接:http://www.sherif.mobi/2013/01/how-to-get-widthheight-of-view.html

尝试以下操作:

myLayoutRef.post(new Runnable() {
    int height = myLayoutRef.getHeight;
});

这个可运行的程序在您的布局绘制好并在屏幕上布局后运行,所以get-height返回实际高度,而不是0

最新更新