2015-04-20 122 views
0

相當新的android。我目前在我的第二個活動中有一個相對佈局,頂部有一個表格佈局,底部是一個列表。我希望屏幕的上半部分用ListView填充TableLayout和Bottom半部分。如何將表格佈局設置爲屏幕中心?

我的問題是我不知道如何對齊它們,以便它們適合不同的屏幕尺寸。我動態地將行&列添加到Table視圖,所以我想確保信息適合其容器。我知道有「dp」方法,但我不認爲硬編碼是最好的答案。

這裏是我的XML:

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin" tools:context="hss.quickpool.PoolSheet"> 

<TableLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:stretchColumns="*" 
    android:shrinkColumns="*" 
    android:id="@+id/tlPool"> 
</TableLayout> 

<ListView 
    android:layout_width="wrap_content" 
    android:layout_height="170dp" 
    android:id="@+id/lvBouts" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" /> 
</RelativeLayout> 

如何確保這兩個傢伙不要過度拍打對方?

回答

1

這種類型的佈局你應該使用線性佈局不是一個相對和使用權,以確保他們都走了一半的屏幕

<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:paddingBottom="@dimen/activity_vertical_margin" 
android:orientation = "vertical" 
tools:context="hss.quickpool.PoolSheet"> 

<TableLayout 
android:layout_width="fill_parent" 
android:layout_height="0dp" 
android:layout_weight = "1" 
android:stretchColumns="*" 
android:shrinkColumns="*" 
android:id="@+id/tlPool"> 
</TableLayout> 

<ListView 
android:layout_width="wrap_content" 
android:layout_height="0dp" 
android:layout_weight = "1" 
android:id="@+id/lvBouts" /> 
</LineaserLayout> 
+0

這解決了這個問題對我來說!謝謝 – Kat

1

添加

android:layout_alignParentTop="true" 

TableLayout

android:layout_below="@+id/tlPool" 

ListView

這應該做到這一點。

相關問題