2015-04-20 5 views
0

Совершенно новый для android. В настоящее время у меня есть относительный макет в этом втором моем действии, в верхней части которого есть макет таблицы, а внизу - список. Я хочу, чтобы верхняя половина экрана была заполнена TableLayout и нижней половиной с ListView.Как установить таблицу в нижней части экрана?

Моя проблема в том, что я не знаю, как выровнять их так, чтобы они соответствовали различным размерам экрана. Я динамически добавляю столбцы & в представление таблицы, поэтому я хочу убедиться, что информация соответствует его контейнеру. Я знаю, что есть метод «dp», но я не чувствую, что hardcoding - лучший ответ.

Вот мой 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.

Это должно быть сделано.

Смежные вопросы