0

LinearLayout、LinearLayout、ListView、およびLinearLayoutの3つのアイテムを持つmain.xmlを持っています。 ListViewは、LinearLayoutの下端を常に表示し、縮小したり、画面をノックしたりしないように、可能な限り大きくしたいと考えています。適合するビューの取得

ListViewの高さをfillparentにしようとしましたが、ListViewの内容が多いので、LinearLayoutの下端がwrapcontentと同じに表示されません。

私はListViewを300dpのような設定サイズにすると、LinearLayoutの下にスペースがあります。私は、これを解決するために、LinearLayoutの最上レベルの重力=塗りつぶしを試みましたが、それは役に立たなかった。

また、アンドロイドで試してみると、下部のLinearLayoutが画面から外れたり、収縮したりします。 関連性がある場合は、最上位のLinearLayoutが高さを満たすように設定されます。 私の目標は、上下のLinearLayoutがコンテンツをラップするようにし、中間のListViewは残っているものを埋めることです...提案はありますか? 事前にお越しいただきありがとうございます!

答えて

3

リストビューをfill_parentの高さに設定して、ListViewにandroid:layout_weight="1"を追加するだけで、2つのLinearLayoutsをwrap_contentに設定することができます。それにもかかわらず、私は通常、RelativeLayoutを使用することを好みます。ヘッダーは、画面の一番上に、フッターを一番下に、ListViewを使用してスペースを埋めるように指定することができます。

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <LinearLayout 
     android:id="@+id/header" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     > 
     //...insert stuff here 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/footer" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     > 
     //...insert stuff here 
    </LinearLayout> 

    <ListView 
     android:id="@+id/listview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_above="@id/footer" 
     android:layout_below="@id/header" 
     /> 
</RelativeLayout> 
+0

両方の応答が完璧でした!新しいビューを学ぶのはいいことです –

関連する問題