如何使用layout_weight获取LinearLayout的高度(以像素为单位)

Usm*_*man 5 java android android-layout layoutparams android-layout-weight

这是我的第一篇文章.我正在学习java for Android应用程序的代码.我正在使用一个LinearLayout"变量名为:ll"与预定义的layout_weight(我想在将来随时更改)和高度和宽度设置为MATCH_PARENT.我想以像素为单位获得此LinearLayout的高度.我使用java(ll.addView(variableForAnObject);)填充它.我试图使用ll.getLayoutParams().height获得它的高度; 但我得到了-1.因为我相信这是MATCH_PARENT的常量.将高度设置为0dp会使ll不可见,并将高度设置为0.

请告诉我是否有办法达到它的高度.我想我可以通过使用DisplayMetrics获取屏幕高度并进行几乎不可能的计算(至少对我而言)来做到这一点,但这太复杂了.

xgc*_*986 10

尝试ll.getHeight()应该工作

如果没有,那是因为android还没有计算出它的界限,那么:

//inside of onCreate method should work
ll.post(new Runnable() {
    @Override
    public void run() {
        //maybe also works height = ll.getLayoutParams().height;

        height  = ll.getHeight();

    }
});
Run Code Online (Sandbox Code Playgroud)