我正在做Derek Banas的Android开发教程11,我只想将保存按钮移到右侧。
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
...
<TableRow
android:id="@+id/tableRow7"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/saveButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="@string/save_button" />
</TableRow>
</TableLayout>
以下是它的样子:
我希望这个按钮位于右侧,为什么会在屏幕中间尴尬停止?
答案 0 :(得分:1)
Button
是您所期望的位置:在该行的第一列的右侧。如果您将表格的layout_gravity
设置为"right"
,那么第一列将在没有第二列的情况下向右推,您将获得所需的效果。
更系统化的方法是在“按钮”之前放置一个视图(没有内容),即。无意地填充该视图的第一列。
我认为您还可以将android:layout_span="2"
添加到Button
,以达到理想的效果。
答案 1 :(得分:1)
<TableRow android:id="@+id/tableRow7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right">
<View android:layout_width="0dp"
android:layout_height="0dp"/>
<Button android:id="@+id/addButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/save_button"
android:onClick="addNewContact"/>
</TableRow>
必须在行的第一个单元格中进行操作。例如,您可以生成这样的空视图来实现该功能,或者使用<Button>
标记中的其中一个属性。
android:layout_column
- 此子项所在列的索引。
android:layout_span
- 定义此子项应覆盖的列数。
答案 2 :(得分:0)
我认为这是因为你的行没有跨越两列(虽然奇怪的是按钮的边缘与文本字段的开头重叠),尝试将android:layout_span=2
添加到Button的TableRow。
答案 3 :(得分:0)
尝试android:layout_gravity="right"