我在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的方式?
感谢您的时间
答案 0 :(得分:-1)
您可以使用PercentRelativeLayout
dependencies {
compile 'com.android.support:percent:25.3.0'
}
https://developer.android.com/reference/android/support/percent/PercentRelativeLayout.html
希望!帮助你!