2012-12-20 45 views
0

頂部我有如下定義:TableLayout出現在另一個TableLayout

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/leftContainer" 
    android:layout_weight="0.8"> 
    <TableLayout 
     android:id="@+id/drinksTable" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:shrinkColumns="*" 
     android:stretchColumns="*" 
     android:padding="0dp" /> 
    <TableLayout 
     android:id="@+id/itemsTable" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:shrinkColumns="*" 
     android:stretchColumns="*" 
     android:padding="0dp" 
     android:layout_alignParentBottom="true" /> 
</RelativeLayout> 

兩個表佈局編程的方式構建。

我希望第二個表格直接出現在第一個表格的下方,但是我可以做的最好的事情是讓它坐在我不喜歡的佈局的底部(使用alignParentBottom)。

如何讓itemsTable直接出現在drinksTable的下方?

+0

我會使用一個垂直的'LinearLayout'。你想如何讓他們準確?半和半?一個比另一個大?滾動?那麼'RelativeLayout'的父親是什麼? – Eric

+0

嗨,Eric,父母是線性佈局。屏幕被垂直分成兩半,這種相對佈局填充左側50%的屏幕。我希望第二個表出現在第一個表的下方,因爲第一個表中的項目數量是可變的。 – Sam

回答

1

只需將您的佈局轉換爲LinearLayout,確保添加android:orientation="vertical";這將使每個元素垂直堆疊。

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/leftContainer" 
    android:layout_weight="0.8" 
    android:orientation="vertical"> 
    <TableLayout 
     android:id="@+id/drinksTable" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:shrinkColumns="*" 
     android:stretchColumns="*" 
     android:padding="0dp" /> 
    <TableLayout 
     android:id="@+id/itemsTable" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:shrinkColumns="*" 
     android:stretchColumns="*" 
     android:padding="0dp" 
     android:layout_alignParentBottom="true" /> 
</LinearLayout> 

但是,請注意,如果元素數太多,它們會從底部的屏幕流出。 (你可能想把這個LinearLayout包裝在一個ScrollView。)

+0

謝謝埃裏克!感謝你的幫助。 – Sam