2013-06-07 2 views
0

Я получил эту ListView:Android ListView Items заполнить родительский вес йоту

  <ListView 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:id="@+id/listView2" 
       android:divider="#CCCCCC" 
       android:dividerHeight="1px" 
       android:cacheColorHint="#00000000" /> 

В ListView я загрузит LinearLayout:

 <LinearLayout 
      android:layout_weight="1" 
      android:layout_height="fill_parent" 
      android:layout_width="fill_parent" 
      android:background="#ffffff"/> 

В этом LinearLayout я получил вес 1, так когда список загружается, он будет разделен поровну между всеми элементами. Теперь проблема в том, что это не сработает, возможно ли это, даже с учетом веса и загрузки элементов в списке?

+0

Я не думаю, что это сработает - я не думаю, что элементы списка «знают» о других элементах в списке ... что является требованием для вашего макета между элементами для работы. Но я позволю кому-то доказать, что я ошибаюсь. –

+0

fill_parent устарел, начиная с уровня API 8 и заменяется match_parent. –

ответ

1

масса свойство предназначен для LinearLayout. Ваш родительский макет должен быть LinearLayout. Так что я не думаю, что код, который вы написали, является возможным сценарием.

Всякий раз, когда вы указываете вес, ширина или высота должны быть установлены в 0dp.

<LinearLayout 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:weightSum="5"> 

<Button 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:text="1" /> 

<Button 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="3" 
    android:text="2" /> 

<Button 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:text="3" /> 

</LinearLayout> 
+3

fill_parent устарел, начиная с уровня API 8 и заменяется match_parent. –