在Android应用程序开发中,使用Linear Layout,我有两个并排连接的按钮。我用TableRow做了这样的安排,并将它对齐。但按钮不完全填满额外的空间。如何让按钮填充左侧和右侧的额外空间?
这里是xml代码:
<TableRow
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:layout_margin="7dp"
>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Save"
android:textAlignment="center"
android:id="@+id/save"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel"
android:textAlignment="center"
android:id="@+id/cancel"
/>
</TableRow>
LinearLayout具有以下属性:
<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
android:layout_alignParentBottom="true"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.appname.classname">
以下是屏幕截图示例:
答案 0 :(得分:1)
不使用TableRow,而是在垂直LinearLayout中使用水平LinearLayout。请注意,LinearLayout的默认方向是水平的。所以你可以这样做:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/save"
android:text="@string/save"
android:layout_weight="1"
android:layout_width="0dip"
android:layout_height="wrap_content" />
<Button
android:id="@+id/cancel"
android:text="@string/cancel"
android:layout_weight="1"
android:layout_width="0dip"
android:layout_height="wrap_content" />
</LinearLayout>
layout_weight属性将使每个项目占用该比例中的可用空间。在这种情况下,按钮将以1:1的比例共享屏幕空间。
答案 1 :(得分:0)
将第一个按钮的android:layout_marginRight设置为&#34; -8dip&#34;甚至更多。 sspace应该更小或消失。 你可以使用RelativeLayout,那里没有边距。