我正在使用LinearLayout构建UI,我使用layout_weight
指定相对大小。我看到一个问题,某些权重组合会导致屏幕底部的空间很小。我的印象是它会扩展每个子视图,使它们完全填充父LinearLayout - 这不是真的吗?我怎样才能使用我想要的比例,但却阻止空间显示在底部?
我在Android Studio布局工具中尝试过的所有屏幕尺寸都会出现这种情况。
这些(不需要的)权重会导致屏幕被完全填满: 0.15,0.75,0.05
这些(所需)重量导致底部的微小空间:0.15,0.75,0.1
这是我的XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#22FF22"
tools:context="...">
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.15"
android:textSize="31dp"
android:gravity="center"
android:background="@color/blue90"
android:text="HEADER" />
<ListView
android:id="@+id/listview_workout_selection"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.75">
</ListView>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/blue90"
android:layout_weight="0.05"></FrameLayout>
</LinearLayout>
答案 0 :(得分:0)
它似乎只是一个Android Studio故障(我怀疑它是由于它处理权重的浮点值的方式),即它不会在真实设备上复制。如果它让你烦恼,只需将每个重量乘以100即可。
答案 1 :(得分:0)
修复是将所需的权重乘以10:
1.5,7.5,1
必须是由小的分数权重引起的一些舍入问题。