Android - 将RelativeLayout中的视图与TableLayout中的视图对齐

时间:2012-08-03 17:29:51

标签: android android-layout

我的根布局是RelativeLayout,其中包含一些TextView,Buttons和ImageViews。在屏幕的底部,我有一个TableLayout代表一个4x4的TextViews网格。我想在网格中显示每个TextView的视图(例如TextView)与右下角对齐

所以我有一个

 <TableLayout ...>
   <TableRow ...>
     <TextView android:id="@+id/x0y0".../>
     <TextView android:id="@+id/x0y1".../>
   ....
 </TableLayout>
 ...
 <TextView  android:layout_alignTop="@id/x0y0"
    android:layout_alignLeft="@id/x0y0" ... />
 <TextView  android:layout_alignTop="@id/x1y1"
    android:layout_alignLeft="@id/x1y1" ... />

但它位于屏幕的左上角。我怀疑RelativeLayout中的Views只能与同一RelativeLayout中的另一个视图对齐,但我想确认或者更好地建议如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

正确,relativelayout只能对齐其子节点。您需要表中的每个单元格包含相对布局,伪代码:

<TableRow ...>
 <RelativeLayout ...>
  <TextView id=id/x0y0 alignParentTop="true" alignParentLeft="true" ...>
  <View alignParentRight="true" layout_below=id/x0y0 ...>
 </RelativeLayout>

您也可以使用垂直LinearLayout和重力来对齐新视图。