Android layout_weight getHeight()不准确

时间:2017-04-22 02:49:22

标签: android

我在xml文件中定义了一组LinearLayout,每个都有一个关联的layout_weight

这是xml:

的一部分
<LinearLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.26"
    android:orientation="horizontal"></LinearLayout>

总的来说,我在父LinearLayout中有7个这样的LinearLayout,每个都有一个assign layout_weight。所有layout_weight值都恰好加1。

因此,我希望上面的布局包含总屏幕高度的26%。

但是经过计算:

 final LinearLayout container = (LinearLayout)findViewById(R.id.container);

    container.post(new Runnable() {
        @Override
        public void run() {
            Log.e("mytag", "container Height: " + container.getHeight());
        }
    });

container.getHeight()只返回值474,而我的屏幕高度是1920 px。 1920年的26​​%应该是499.2像素。 474的值远远超出预期的499。

我的getHeight方法不准确,还是我设置layout_weight的方式?

感谢您的时间

1 个答案:

答案 0 :(得分:-1)

您可以使用PercentRelativeLayout

dependencies {
compile 'com.android.support:percent:25.3.0'
}

https://developer.android.com/reference/android/support/percent/PercentRelativeLayout.html

希望!帮助你!