Почему этот список / прокрутка не заполняет родительский элемент? - PullRequest
2 голосов
/ 13 июня 2011

Я следовал некоторым инструкциям здесь: http://saigeethamn.blogspot.com/2010/04/custom-listview-android-developer.html

В следующем примере показан список в полноэкранном режиме.Это то, что я хочу, чтобы мой сделал.Что я делаю не так?

Примеры результатов: examples result

Мой результат:

my result

В приведенном мной примере использовались 2 макета XML,1 для страницы.1 для списка.

Страница:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout 
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000fff"
android:layout_weight="2"
android:drawSelectorOnTop="false">
</ListView>
<TextView  android:id="@id/android:empty"
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="#FFff00"
android:text="No data"
/>
</LinearLayout>
</ScrollView>

А вот XML для списка:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<TextView android:id="@+id/tvAccountName"         
android:textSize="16sp"         
android:textStyle="bold" 
android:textColor="#FFFF00"        
android:layout_width="fill_parent"         
android:layout_height="fill_parent"/>
<TextView android:id="@+id/tvAccountType" 
android:typeface="sans"
android:textSize="14sp"
android:textStyle="italic"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
<TextView android:id="@+id/tvAccountBalance"         
android:textSize="12sp"         
android:textStyle="bold"      
android:layout_width="wrap_content"         
android:layout_height="fill_parent"/>
</LinearLayout>

А вот запись из манифеста:

   <activity android:name=".listAccountsPage"
              android:label="@string/app_name"
              >
        <intent-filter>
            <action android:name="com.ourcreditunion.ourcumobile.LISTACCOUNTS" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
</activity>

Так, что я сделал, чтобы это не было полноэкранным?

Ответы [ 2 ]

6 голосов
/ 13 июня 2011

Как говорит @adamp - не помещайте просмотр списка внутри просмотра прокрутки.Какой из них собирается пойти прокрутить?Ваш xml также должен быть проще.Попробуйте что-то вроде этого:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ListView
        android:layout_width="match_parent"
        android:id="@+id/listView1"
        android:layout_alignParentLeft="true"
        android:layout_height="match_parent"/>
</RelativeLayout>

Если вы хотите цветной фон, установите атрибут background в RelativeLayout

0 голосов
/ 13 июня 2011

Я думаю, что это исходит от

android:layout_weight="2"

в объявлении представления списка. Приведенное число следует некоторой обратной логике, Это означает, что чем оно больше, тем меньше становится вид.

...