在我的应用程序中,我在布局中添加了许多视图,其中包含以下属性,如何在运行时获得正确的布局高度
LinearLayout ll = new LinearLayout(this);
ll.setLayoutParams(new LayoutParams(840,LayoutParams.WRAP_CONTENT));
ll.setOrientation(LinearLayout.VERTICAL);
ll.addView(view1);
ll.addView(view2);
ll.getHeight();
如何在这一点上获得布局的高度考虑添加view1和view2,而不管我的属性(LayoutParams.WRAP_CONTENT),因为它总是向我返回0?
答案 0 :(得分:2)
请尝试这种方式,希望这有助于您解决问题。
int width;
int height;
ll.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
width = view.getMeasuredWidth();
height = view.getMeasuredHeight();
}
});
答案 1 :(得分:1)
你可以打电话
ll.post(new Runnable()
{
public void run()
{
ll.getHeight();
}
});
添加子视图后,这将为您提供ll
的高度。