画面のメイン エリアが 2 つのリスト ビューであるアクティビティがあります。ワン・オーバー・ザ・アザー。上部のリスト ビューで項目をクリックすると、下部のリスト ビューに表示される内容が変わります。
問題は、各リストが常に使用可能なスペースの 1/2 を使用するように強制できないように見えることです。一番上のリストに 100 個の項目があり、一番下のリストに 1 個ある場合、一番下のリストは完全に消え、一番上のリストがすべてのスペースを占有します。
ここでいくつかの同様の質問を読みました-そして、それらはすべて、ListViewを独自のLinearLayoutsにラップするだけで機能すると言っているようです。私のためではありません。下部のリストは、項目が少ない場合でも小さく折りたたまれているか、なくなっています。
これは私のxmlです:
DELETED old XML due to posting size limit.
それで、私は最初の提案を試みましたが、うまくいきませんでした。リスト内のアイテムの数がほぼ同じである場合にのみ、リストは同じサイズになります。1 つのリストに 100 個のアイテムがあり、もう 1 つのリストに 3 個のアイテムがある場合、3 個のアイテムのリストははるかに少ない画面スペースを占有します。また、両方のリストが比較的短い場合、画面いっぱいに表示されず、下部に空白の白い領域が残ります。この画面には他にも必要なコントロールがあることに注意してください。そのうちのいくつかは、必要に応じて表示/非表示になります。
更新された XML は次のとおりです。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF000000"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/prevButton"
style="@style/prevButton"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_weight="0.5"
android:onClick="onPrevResult" />
<com.teamunify.ondeck.widget.TUTextView
android:id="@+id/meet_name"
style="@style/sans.white.16.bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
android:layout_weight="1.0"
android:ellipsize="end"
android:gravity="center_horizontal"
android:paddingTop="4dp"
android:singleLine="true"
android:text="@string/example_meet_name_long" />
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/nextButton"
style="@style/nextButton"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_weight="0.5"
android:onClick="onNextResult" />
</LinearLayout>
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal"
android:padding="6dp" >
<com.teamunify.ondeck.widget.TURadioButton
android:id="@+id/filter_mine"
style="@style/sans.white.14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:background="@drawable/grey_segment_left"
android:button="@drawable/small_crap"
android:gravity="center"
android:onClick="onFilterMine"
android:text="@string/my_kids" />
<com.teamunify.ondeck.widget.TURadioButton
android:id="@+id/filter_team"
style="@style/sans.white.14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:background="@drawable/grey_segment_mid"
android:button="@drawable/small_crap"
android:gravity="center"
android:onClick="onFilterTeam"
android:text="@string/my_team" />
<com.teamunify.ondeck.widget.TURadioButton
android:id="@+id/filter_all"
style="@style/sans.white.14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:background="@drawable/grey_segment_right"
android:button="@drawable/small_crap"
android:checked="true"
android:gravity="center"
android:onClick="onFilterAll"
android:text="@string/all" />
</RadioGroup>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/search_button"
style="@style/searchButton"
android:layout_margin="4dp"
android:gravity="center"
android:onClick="onSearch" />
<RadioGroup
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1.0"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<com.teamunify.ondeck.widget.TURadioButton
android:id="@+id/filter_events"
style="@style/sans.white.14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:background="@drawable/grey_segment_left"
android:button="@drawable/small_crap"
android:gravity="center"
android:onClick="onFilterEvents"
android:text="@string/events" />
<com.teamunify.ondeck.widget.TURadioButton
android:id="@+id/filter_swimmers"
style="@style/sans.white.14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:background="@drawable/grey_segment_right"
android:button="@drawable/small_crap"
android:checked="true"
android:gravity="center"
android:onClick="onFilterSwimmers"
android:text="@string/swimmers" />
</RadioGroup>
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/help_button"
style="@style/helpButton"
android:layout_margin="4dp"
android:gravity="center"
android:onClick="showHelp" />
</LinearLayout>
</LinearLayout> <!-- end of heading -->
<LinearLayout
android:id="@+id/tophdr_event"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_weight="0"
android:background="#FF000000"
android:orientation="horizontal" >
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/btn_filter_gender"
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:drawableRight="@drawable/filter"
android:gravity="center_vertical"
android:onClick="onFilterGender"
android:paddingLeft="5dp"
android:text="@string/gender" />
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/btn_filter_distance"
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:drawableRight="@drawable/filter"
android:gravity="center_vertical"
android:onClick="onFilterDistance"
android:paddingLeft="5dp"
android:text="@string/distance" />
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/btn_filter_stroke"
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:drawableRight="@drawable/filter"
android:gravity="center_vertical"
android:onClick="onFilterStroke"
android:paddingLeft="10dp"
android:text="@string/stroke" />
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/btn_filter_age"
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:drawableRight="@drawable/filter"
android:gravity="center_vertical"
android:onClick="onFilterAge"
android:paddingLeft="26dp"
android:text="@string/age" />
</LinearLayout>
<LinearLayout
android:id="@+id/tophdr_swimmer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_weight="0"
android:background="#FF000000"
android:orientation="horizontal"
android:visibility="gone" >
<com.teamunify.ondeck.widget.TUTextView
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:gravity="center_vertical"
android:paddingLeft="16dp"
android:text="@string/swimmer" />
<com.teamunify.ondeck.widget.TUTextView
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:gravity="center_vertical"
android:paddingLeft="16dp"
android:text="@string/event_age" />
<com.teamunify.ondeck.widget.TUTextView
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:gravity="center_vertical"
android:paddingLeft="16dp"
android:text="@string/team" />
</LinearLayout>
<ListView
android:id="@+id/meet_result_top_list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="2dp"
android:layout_weight="0.5"
android:background="#FF333333" />
<com.teamunify.ondeck.widget.TUTextView
android:id="@+id/meet_result_top_empty"
style="@style/sans.white.18.bold"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.5"
android:background="#FF333333"
android:gravity="center"
android:text="@string/no_matching_data"
android:visibility="gone" />
<LinearLayout
android:id="@+id/bothdr_event"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_weight="0"
android:background="#FF000000"
android:orientation="horizontal"
android:visibility="gone" >
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/btn_sort_event"
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:drawableRight="@drawable/filter"
android:gravity="center_vertical"
android:onClick="onSortEvent"
android:paddingLeft="16dp"
android:text="@string/event" />
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/btn_sort_evpos"
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:drawableRight="@drawable/filter"
android:gravity="center_vertical"
android:onClick="onSortPos"
android:paddingLeft="16dp"
android:text="@string/position" />
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/btn_sort_evpoints"
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:drawableRight="@drawable/filter"
android:gravity="center_vertical"
android:onClick="onSortPointsE"
android:paddingLeft="16dp"
android:text="@string/points" />
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/btn_sort_evtime"
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:drawableRight="@drawable/filter"
android:gravity="center_vertical"
android:onClick="onSortTimeE"
android:paddingLeft="16dp"
android:text="@string/time" />
</LinearLayout>
<LinearLayout
android:id="@+id/bothdr_swimmer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_weight="0"
android:background="#FF000000"
android:orientation="horizontal" >
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/btn_sort_swimmer"
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:drawableRight="@drawable/filter"
android:gravity="center_vertical"
android:onClick="onSortSwimmer"
android:paddingLeft="5dp"
android:text="@string/swimmer" />
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/btn_sort_team"
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:drawableRight="@drawable/filter"
android:gravity="center_vertical"
android:onClick="onSortTeam"
android:paddingLeft="14dp"
android:text="@string/team" />
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/btn_sort_swpos"
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:drawableRight="@drawable/filter"
android:gravity="center_vertical"
android:onClick="onSortEvent"
android:paddingLeft="25dp"
android:text="@string/position" />
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/btn_sort_swpoints"
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:drawableRight="@drawable/filter"
android:gravity="center_vertical"
android:onClick="onSortPointsS"
android:paddingLeft="4dp"
android:text="@string/points" />
<com.teamunify.ondeck.widget.TUButton
android:id="@+id/btn_sort_swtime"
style="@style/sans.white.12"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FF000000"
android:drawableRight="@drawable/filter"
android:gravity="center_vertical"
android:onClick="onSortTimeS"
android:paddingLeft="4dp"
android:text="@string/time" />
</LinearLayout>
<ListView
android:id="@+id/meet_result_bot_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:layout_weight="0.5"
android:background="#FF333333"
android:visibility="visible" >
</ListView>
<com.teamunify.ondeck.widget.TUTextView
android:id="@+id/meet_result_bot_empty"
style="@style/sans.white.18.bold"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_weight="0.5"
android:background="#FF333333"
android:gravity="center"
android:text="@string/meet_manage:no_entries"
android:visibility="gone" />
</LinearLayout>