我需要在Android中以编程方式获取LinearLayout或RelativeLayout的长度,就像我有如下的LinearLayout一样
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
我需要通过获取屏幕高度来增加位于屏幕中间的布局的高度,并通过根据屏幕高度进行计算来增加或减少其高度。因此,有一种计算布局高度的方法,其高度设置为wrap_content。我试图从布局参数中获取高度,但它给出了-1或-2的值,而不是像素或密度像素的高度。
答案 0 :(得分:2)
当然match_parent和wrap_content等于-1和-2。
在这种情况下,请尝试使用viewTreeObserver。
这是一个很好的链接:http://www.sherif.mobi/2013/01/how-to-get-widthheight-of-view.html
答案 1 :(得分:1)
尝试以下方法:
myLayoutRef.post(new Runnable() {
int height = myLayoutRef.getHeight;
});
在您的布局绘制并在屏幕上布局后,此runnable运行,因此获取高度将返回实际高度而不是0