我正在尝试在屏幕底部放置一个带有两个按钮的TableRow,在布局中的其他视图元素下,但是如果我放在那里,TableRow会从屏幕上消失。我把它放在顶部或中间,没问题。
我尝试了很多layout_gravity,重力和重量组合,但我无法得到它。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:gravity="center_horizontal"
android:text="@string/traza"
android:layout_margin="10sp"/>
<TableRow
android:id="@+id/tableRow8"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="3sp"
android:gravity="center"
android:weightSum="2" >
<Button
android:id="@+id/reiniciar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5sp"
android:background="@drawable/bordebutton"
android:text="@string/reiniciar" />
<Button
android:id="@+id/comprobar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="5sp"
android:background="@drawable/bordebutton"
android:text="@string/comprobar" />
</TableRow>
<android.gesture.GestureOverlayView
android:id="@+id/gestures"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fadeEnabled="true"
android:fadeOffset="3000"
android:gestureStrokeType="multiple"
android:eventsInterceptionEnabled="true"
android:orientation="vertical"/>
</LinearLayout>
答案 0 :(得分:2)
您需要使用 RelativeLayout 来实现此目标。
你去了:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10sp"
android:gravity="center_horizontal"
android:text="@string/traza"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TableRow
android:id="@+id/tableRow8"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="3sp"
android:gravity="center"
android:weightSum="2"
android:layout_alignParentBottom="true" >
<Button
android:id="@+id/reiniciar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:background="@drawable/bordebutton"
android:text="@string/reiniciar" />
<Button
android:id="@+id/comprobar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="5sp"
android:layout_weight="1"
android:background="@drawable/bordebutton"
android:text="@string/comprobar" />
</TableRow>
<android.gesture.GestureOverlayView
android:id="@+id/gestures"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:eventsInterceptionEnabled="true"
android:fadeEnabled="true"
android:fadeOffset="3000"
android:gestureStrokeType="multiple"
android:orientation="vertical" />
</RelativeLayout>
答案 1 :(得分:0)
修改强>
如果要使用TableLayout
中包含的功能,则根元素应为View
。您目前将其作为LinearLayout
。
我没有看到任何提及非TableRow
视图如何垂直放置在documentation中的内容。
根据我的经验,TableLayout
将始终将内容直接放在最后一行之下。
尝试使用RelativeLayout
或LinearLayout
来完成您的需求吗?它比TableLayout
更灵活。
您也可以关闭TableLayout
并在其下方放置LinearLayout
。