2015-02-13 9 views
0

Я работаю над макетом, но у меня проблемы с двумя ExpandableListView. Я разработал свой макет, используя много LinearLayout, он работает, но списки не расширяются, потому что они не занимают пространство. Теперь высота списков - «заполнить родительский элемент», но если я изменю его на число, подобное « 200dp»у них есть пространство для расширения:Android ExpandableListView не расширяется в Linearlayout

enter image description here

Как я могу это исправить? Я не хочу, чтобы сохранить номер, потому что, когда список закрыт, остается пустое пространство ... Это мой XML-код:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent"> 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" > 
      <LinearLayout android:layout_gravity="center_horizontal" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
       <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/attack" android:textAppearance="?android:textAppearanceLarge" android:textColor="@color/black" /> 
      </LinearLayout> 
      <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
       <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
        <LinearLayout android:orientation="horizontal" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
         <ImageView android:id="@+id/lance1" android:layout_width="wrap_content" android:layout_height="45.0dip" android:src="@drawable/lance" android:adjustViewBounds="true" /> 
         <EditText android:id="@+id/lance_attacco" android:layout_width="73.0dip" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" /> 
        </LinearLayout> 
        <LinearLayout android:orientation="horizontal" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
         <ImageView android:id="@+id/espadas1" android:layout_width="wrap_content" android:layout_height="45.0dip" android:src="@drawable/spade" android:adjustViewBounds="true" /> 
         <EditText android:id="@+id/espadas_attacco" android:layout_width="73.0dip" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" /> 
        </LinearLayout> 
       </LinearLayout> 
       <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
        <LinearLayout android:orientation="horizontal" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
         <ImageView android:id="@+id/archi1" android:layout_width="wrap_content" android:layout_height="45.0dip" android:src="@drawable/archi" android:adjustViewBounds="true" /> 
         <EditText android:id="@+id/archi_attacco" android:layout_width="73.0dip" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" /> 
        </LinearLayout> 
        <LinearLayout android:orientation="horizontal" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
         <ImageView android:id="@+id/balestre1" android:layout_width="wrap_content" android:layout_height="45.0dip" android:src="@drawable/balestre" android:adjustViewBounds="true" /> 
         <EditText android:id="@+id/balestre_attacco" android:layout_width="73.0dip" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" /> 
        </LinearLayout> 
       </LinearLayout> 
       <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
        <LinearLayout android:orientation="horizontal" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
         <ImageView android:id="@+id/cp1" android:layout_width="wrap_content" android:layout_height="45.0dip" android:src="@drawable/cp" android:adjustViewBounds="true" /> 
         <EditText android:id="@+id/cp_attacco" android:layout_width="73.0dip" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" /> 
        </LinearLayout> 
        <LinearLayout android:orientation="horizontal" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
         <ImageView android:id="@+id/cl1" android:layout_width="wrap_content" android:layout_height="45.0dip" android:src="@drawable/cl" android:adjustViewBounds="true" /> 
         <EditText android:id="@+id/cl_attacco" android:layout_width="73.0dip" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" /> 
        </LinearLayout> 
       </LinearLayout> 
      </LinearLayout> 
      <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
       <ExpandableListView 
        android:id="@+id/List" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" > 
       </ExpandableListView> 
      </LinearLayout> 
      <TextView android:textAppearance="?android:textAppearanceLarge" android:textColor="@color/black" android:layout_gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/defense" /> 
      <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
       <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
        <LinearLayout android:orientation="horizontal" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
         <ImageView android:id="@+id/lance" android:layout_width="wrap_content" android:layout_height="45.0dip" android:src="@drawable/lance" android:adjustViewBounds="true" /> 
         <EditText android:id="@+id/lance_difesa" android:layout_width="73.0dip" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" /> 
        </LinearLayout> 
        <LinearLayout android:orientation="horizontal" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
         <ImageView android:id="@+id/espadas" android:layout_width="wrap_content" android:layout_height="45.0dip" android:src="@drawable/spade" android:adjustViewBounds="true" /> 
         <EditText android:id="@+id/espadas_difesa" android:layout_width="73.0dip" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" /> 
        </LinearLayout> 
       </LinearLayout> 
       <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
        <LinearLayout android:orientation="horizontal" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
         <ImageView android:id="@+id/archi" android:layout_width="wrap_content" android:layout_height="45.0dip" android:src="@drawable/archi" android:adjustViewBounds="true" /> 
         <EditText android:id="@+id/archi_difesa" android:layout_width="73.0dip" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" /> 
        </LinearLayout> 
        <LinearLayout android:orientation="horizontal" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
         <ImageView android:id="@+id/balestre" android:layout_width="wrap_content" android:layout_height="45.0dip" android:src="@drawable/balestre" android:adjustViewBounds="true" /> 
         <EditText android:id="@+id/balestre_difesa" android:layout_width="73.0dip" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" /> 
        </LinearLayout> 
       </LinearLayout> 
       <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
        <LinearLayout android:orientation="horizontal" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
         <ImageView android:id="@+id/cp" android:layout_width="wrap_content" android:layout_height="45.0dip" android:src="@drawable/cp" android:adjustViewBounds="true" /> 
         <EditText android:id="@+id/cp_difesa" android:layout_width="73.0dip" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" /> 
        </LinearLayout> 
        <LinearLayout android:orientation="horizontal" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
         <ImageView android:id="@+id/cl" android:layout_width="wrap_content" android:layout_height="45.0dip" android:src="@drawable/cl" android:adjustViewBounds="true" /> 
         <EditText android:id="@+id/cl_difesa" android:layout_width="73.0dip" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" /> 
        </LinearLayout> 
       </LinearLayout> 
      </LinearLayout> 
      <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
      <ExpandableListView 
       android:id="@+id/List1" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" > 

       </ExpandableListView> 
      </LinearLayout> 
     </LinearLayout> 
    </ScrollView> 
</LinearLayout> 

Спасибо, Джакомо.

ответ

1

К сожалению, я не могу полностью ответить на ваш вопрос. Там много чего происходит и трудно понять, что к чему. Также я не совсем уверен, что вы просите.

Однако я укажу, что вы не должны вставлять ExpandableListViews в пределах ScrollView. Имея прокручиваемый виджет, а другой (и имеющий прокрутку в одном направлении), большой нет, и не будет работать правильно. Вы увидите всевозможные проблемы.

Кроме того, ваше массивное решение LinearLayout выглядит намного сложнее, чем то, что должно быть. Я предлагаю начать новый вопрос, который задает наилучший способ отображения этого интерфейса. Покажите, в основном, прямоугольные коробки, где должны быть размещены вещи, и какую часть нужно прокручивать. Очень важно, чтобы вы планировали все надлежащим образом, чтобы избежать таких проблем.

+0

Спасибо за ваш ответ, я упростил свой макет, используя только 4 RelativeLayout, но он вообще не работает, потому что есть проблема со списком внутри scrollview. Поэтому я отправлю еще один вопрос, как вы предложили. –

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