2013-09-23 5 views
5

私はアンドロイドアプリケーションで作業しています。私は次の操作を実行する必要があるXMLレイアウトでAndroidのリストビューはフッタサイズに基づいて一定のサイズまでコンテンツをラップします

私はトップ(listViewProducts)でリストビュー、およびその下に別の相対ビュー(receiptSection)を持っています。

リストビューには、項目があるだけのスペースが必要です。そして、残りの部分は領収書セクションによって取られます。

は、だから私はlistViewProductsで2つの項目がある場合、たとえば:

first image

をリストビューには、2つの項目ほどの大きさで、残りはreceiptViewによって取られます。

私は別の項目を追加した場合、リストビューは現在、より多くのスペースを取り、下receiptViewを押す:

enter image description here

は、私は多くの項目を追加する場合は、私が成長を停止するには、リストビューの高さが欲しいです小さな行くことができないreceiptViewのための最小の高さのままに:あなたは絵で見たよう

enter image description here

を、receiptVIewは50dpの最小の高さを持っています。レシートビューがその高さに達すると、縮小が止まり、リストビューは残りのスペースに基づいて固定サイズになります。残りはスクロール可能です。私は、リストビューを作成し

を試してみましたが、何

。私はandroid:layout_alignParentTop="true"android:layout_height="wrap_content"です。

これは、そのコンテンツに成長させるだろうと、そのビュー

<ListView 
    android:id="@+id/listViewProducts" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" > 
</ListView> 

の上部に、私は別々のXMLレイアウトファイルであるcheckout_receipt_viewを保持するRelativeLayoutを作成しました。

私はandroid:layout_alignParentBottom="true"android:layout_below="@id/listViewProducts"を持っています。リストビューの下にあり、ビューの下部に揃えてあります。

また、受け取りセクションの最小高さを設定するためにandroid:minHeight="50d"を使用しました。

<RelativeLayout 
    android:id="@+id/receiptSection" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_alignParentBottom="true" 
    android:layout_below="@id/listViewProducts" 
    android:minHeight="50dp" > 
    <include layout="@layout/checkout_receipt_view" /> 
</RelativeLayout> 

listViewProductsはアイテムとともに増加しており、receiptViewは残りのスペースを正しく取り込んでいます。

問題 しかし、最小の高さは機能しませんでした。リストビューは無限に拡大し続け、receiptSectionはビューから押し出されます。

receiptViewが50dpに達したときにlistViewが成長を停止する方法はありますか?

ありがとうございました。

答えて

-1

'layout_below'を入れ替えてみてください。

あなたが実際に言っていることは次のとおりです。私のrelativelayoutをlistviewの下に置いてください。あなたはあなたのリストビューがrelativelayoutの高さを尊重したい場合は、リストビューで言う必要があるでしょう:

<ListView 
    android:id="@+id/listViewProducts" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/receiptSection" 
    android:layout_alignParentTop="true" > 
</ListView> 

そして、あなたのrelativelayout:

<RelativeLayout 
    android:id="@+id/receiptSection" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_alignParentBottom="true" 
    android:minHeight="50dp" > 
    <include layout="@layout/checkout_receipt_view" /> 
</RelativeLayout> 
+0

これは私のために動作しません。 "footer"セクションは、その高さがmatch_parentに設定されているため、画面全体を占めます。 wrap_contentに設定すると、リストビューに1つの項目しかない場合でも、画面の最下部に表示されます。これは解決しようとしている問題です。 – OldSchool4664