3

TextView上部、ListView中央、下部にaが付いた画面を作成しようとしていますButtonTextView常に画面の一番上に、ボタンが常に一番下になり、その間にあるようにしたいと思いますListViewListViewが「真ん中のスペース」を超える場合は、スクロール機能をとの間だけにTextViewButtonます。私の試みでは、それはとを超えて拡張TextViewButtonます。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/paper" >

<TextView
    android:id="@+id/tvLOL"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:text="Standardvarer"
    android:textSize="40dp" />

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/tvLOL"
    android:layout_alignBottom="@+id/bNyVare"
    android:orientation="vertical" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
</LinearLayout>

<Button
    android:id="@+id/bNyVare"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:text="Tilføj ny vare"
    android:textSize="30dp" />

</RelativeLayout>
4

2 に答える 2

5

これが役立つかどうかを確認します(LinearLayoutラッピングにのみ使用し、他には何も使用しない場合は、ラッピングListViewを削除する必要があります(そしてlayout_above /belowをに移動します)。ListViewListView

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/paper" >

<TextView
    android:id="@+id/tvLOL"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:text="Standardvarer"
    android:textSize="40dp" />

<Button
    android:id="@+id/bNyVare"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:text="Tilføj ny vare"
    android:textSize="30dp" />

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/tvLOL"
    android:layout_above="@id/bNyVare"
    android:orientation="vertical" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

</RelativeLayout>
于 2012-06-03T19:18:08.603 に答える
3

@Luksprogの解決策に代わる解決策ですが、それは間違いなく、より複雑なレイアウトを実現する方法です。ビュー階層の不必要な複雑さを除いて、何も追加されないので、私はLinearLayoutそれを囲むものを捨てます。ListView

質問で説明されている比較的単純なレイアウトは、ルートとしてasを使用し、との間のすべてのスペースを動的に埋めるためにウェイトを使用して作成することもできLinearLayoutます。この重りはまた、それを押しのけることなく、一番下まで押します。ListViewTextViewButtonButton

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:background="@drawable/paper" android:orientation="vertical">

    <TextView android:id="@+id/tvLOL" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_gravity="center_horizontal"
        android:text="Standardvarer" android:textSize="40dp" />

    <ListView android:id="@android:id/list" android:layout_width="fill_parent"
        android:layout_height="0dp" android:layout_weight="1" />

    <Button android:id="@+id/bNyVare" android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:text="Tilføj ny vare"
        android:textSize="30dp" />

</LinearLayout>
于 2012-06-04T00:07:35.800 に答える