Мой включенный макет не заполняет все пространство, когда я устанавливаю видимость с помощью View.GONE - PullRequest
1 голос
/ 01 апреля 2012

Я не знаю, правильно ли это делать, но я надеюсь, что вы сможете мне помочь.

Я использую ListActivity для отображения контента из RSS-канала. Во время загрузки содержимого я хочу отобразить ожидающий просмотр. Я использую EndlessAdapter с этого веб-сайта https://github.com/commonsguy/cwac-endless.. Он позволяет отображать отложенное представление, но при первой загрузке данных это крошечная строка в пустом списке, поэтому она не очень привлекательна.

На самом деле я пытаюсь исправить это с помощью этого метода: Настраиваемый макет для моей ListActivity, где есть ожидающее представление, которое я могу скрыть или показать для первой загрузки. Код 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" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#FFFFFF"
        android:cacheColorHint="#FFFFFF"/>


    <include
        android:id="@+id/progressBar"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        layout="@layout/loading_anim">
    </include>
</LinearLayout>

В первый раз, когда я загружаю данные, я установил видимость списка с этой строкой:

listView.setVisibility(View.GONE);

Это почти работает, но включенный макет не заполняет весь экран, и, знаете, я не знаю, как исправить это должным образом.

Надеюсь, кто-нибудь сможет мне помочь, спасибо!

ОБНОВЛЕНИЕ: Я попытался установить представление содержимого только с макетом загрузки (см. XML ниже), и я получил тот же результат (см. http://imageshack.us/photo/my-images/594/loadingwf.png/):

this.setContentView(R.layout.loading_anim);

<?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:background="#FFFFFF"
    android:gravity="center_horizontal"
    android:orientation="horizontal"
    android:padding="5dp" >

    <ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:text="@string/loading" />

</LinearLayout>

Так что мне интересно, может быть, это из-за вкладок ... Кто-нибудь может мне помочь? Спасибо в

ОБНОВЛЕНИЕ 2 Я нашел решение, оно не имело ничего общего с бесконечным адаптером. См. Содержание моих вкладок не занимает все пространство

1 Ответ

1 голос
/ 01 апреля 2012

В вашем ListView попробуйте это:

<ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#FFFFFF"
        android:cacheColorHint="#FFFFFF"/>

Я установил layout_height в wrap_content. Теперь должен заполнить весь экран.

...