我在屏幕底部有 5 个按钮(按线性布局分组,每个按钮的权重为 1。在屏幕截图中,b1-b5 上方的行)。但是,当文本超过一行时,该特定按钮将被按下,甚至在其父级之外。每个按钮的高度是一个设定值,对所有按钮都相等。该next >
按钮是唯一处于正确位置的按钮。下面是一些 XML,但这对我来说似乎很正常:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/h"
android:orientation="horizontal" >
<Button }
android:layout_width="0dp" }
android:layout_height="@dimen/h" } x5
android:layout_weight="1"/> }
</LinearLayout>
按钮 b1-b5 中的 LinearLayout 的 margin_top 为 10dp。
截图:
红线是按钮应对齐的位置。蓝线是带有两行文本的按钮,绿色是 3 行。
根据屏幕截图,这些按钮包含的文本行越多,它们被向下推的越多。如果按钮包含太多文本,如何阻止按钮被按下?我不能使用相对布局并让它们对齐顶部,因为我需要它们的权重相等
编辑:完整(虽然缩短)XML
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="0dp"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:paddingTop="6dp">
<LinearLayout
android:id="@+id/panel1"
android:layout_width="match_parent"
android:layout_height="@dimen/h"
android:layout_alignParentBottom="true"
android:layout_marginTop="@dimen/margin"
android:layout_centerHorizontal="true">
<Button
android:layout_width="0dp" }
android:layout_height="@dimen/h" }x5
android:layout_weight="1"/> }
</LinearLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_above="@+id/text"
android:layout_alignParentTop="true">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:background="@color/black"
android:textColor="@color/white"
android:text="@string/longtext">
</TextView>
</ScrollView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/panel1"
android:gravity="bottom">
<LinearLayout
android:id="@+id/panel2"
android:layout_width="match_parent"
android:layout_height="@dimen/h"
android:orientation="horizontal">
<Button
android:layout_width="0dp" }
android:layout_height="@dimen/h" }x5
android:layout_weight="1"/> }
</LinearLayout>
</RelativeLayout>
</RelativeLayout>