В ListView есть метод addFooterView, который полезен для показа загружаемого сообщения. Но у GridView этот метод отсутствует. Итак, как добавить нижний колонтитул в GridView, как показано в Google Play? Что такое addFooterView для GridView?
ответ
Нет, извините, GridView не предлагает такого рода возможности.
Если вам нужна запись «нажмите здесь для получения дополнительной информации», я бы просто ленил бы загрузить данные после достижения конечных данных сетки. Вы можете посмотреть CommonsWare EndlessAdapter и попытаться адаптировать его к GridView.
Вы можете попробовать и использовать Относительную компоновку, поместить сетку и сделать линейную компоновку с атрибутом android:layout_alignParentBottom="true"
, и она поместит все, что вы захотите, под грид-представление, которое, как я думаю, является тем, что вы хотите.
Но это не сделало бы его бесшовным, как в Google Play. – sofiaguyang
У них есть другой файл xml, называемый something_footer. Он выглядит «бесшовным», потому что он делает стиль тем же. Но не внутри GridView. – 0gravity
Вы можете загрузить приложение Google play apk, переименовать его в .zip, извлечь его и посмотреть на файлы xml, которые они использовали. – 0gravity
Вы можете использовать бесконечный прослушиватель прокрутки в качестве прослушивателя прокрутки сетки. Используя прослушиватель прокрутки, вы можете получить текущую позицию. когда конец достигнут, покажет пользовательское окно загрузки, и когда загрузка из сети будет завершена (AsyncTask или Loader завершена), вы можете скрыть представление загрузки.
Android BucketListAdapter
Это реализация адаптера списка ведра, аналогично тому, что вы видите в приложении Google Play. Он имеет сетчатый макет элементов списка, с тем преимуществом, что вы все еще можете использовать список верхние и нижние колонтитулы - что-то, что невозможно со стандартом GridView.
Спасибо за список-адаптер, мне нужно то же самое. Но он не поддерживает нажатый элемент и прозрачный элемент. Похоже, мне нужно переопределить ListView, чтобы настроить поведение. –
Вы можете использовать это, используйте OnScrollListener для контроля положения прокрутки, при прокрутке до последнего пункта, вы можете контролировать видимость зрения загрузки.
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (mOnScrollListener != null) {
mOnScrollListener.onScroll(view, firstVisibleItem,
visibleItemCount, totalItemCount);
}
// The count of footer view will be add to visibleItemCount also are
// added to totalItemCount
if (visibleItemCount == totalItemCount) {
// If all the item can not fill screen, we should make the
// footer view invisible.
} else if (!mIsLoading
&& (firstVisibleItem + visibleItemCount >= totalItemCount)
&& mCurrentScrollState != SCROLL_STATE_IDLE) {
mIsLoading = true;
if (mOnLoadMoreListener != null) {
mOnLoadMoreListener.onLoadMore();
}
}
}
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fillViewport="true" >
<com.baidu.hao123.module.video.view.LoadMoreGridView
android:id="@+id/gv_movie_home"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:cacheColorHint="@null"
android:fitsSystemWindows="true"
android:horizontalSpacing="10dip"
android:listSelector="@android:color/transparent"
android:numColumns="3"
android:paddingLeft="13dip"
android:paddingRight="13dip"
android:paddingTop="10dip"
android:scrollbars="none"
android:verticalSpacing="12dip" />
</LinearLayout>
<LinearLayout
android:id="@+id/auto_load_view"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:visibility="gone"
android:paddingBottom="10dip"
android:gravity="center"
android:orientation="horizontal" >
<ProgressBar
android:id="@+id/loadingBar"
android:layout_width="23dip"
android:layout_height="23dip"
android:layout_marginRight="10dip"
android:indeterminateDrawable="@drawable/progress_small" />
<TextView
android:id="@+id/loadingText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="@string/loading"
android:textColor="@color/color_ff555555"
android:textSize="@dimen/fontSize_middle" />
</LinearLayout>
</LinearLayout>
- 1. ListFragment addFooterView
- 2. Правильно реализовать addFooterView ListView
- 3. listview addFooterView проблемы
- 4. Что такое свойство InsertVisible BoundField в GridView
- 5. Android ListView addFooterView() issue
- 6. addfooterview причиной исключения
- 7. Что такое резонансные максимальные строки DB для встроенного пейджинга GridView?
- 8. Что такое dataKeyName для gridview, привязанного к массиву строк?
- 9. addFooterView в ListView дает ClassCastException
- 10. Что такое Northwind.EmployeesRow
- 11. Что такое каталог /. для?
- 12. Что такое %% для Python?
- 13. Java: Что такое «для (;;)»
- 14. Что такое SDKDDKVer.h для?
- 15. Что такое $ $ для CKEditor?
- 16. Что такое rc для
- 17. Что такое __CUDANVVM__ для?
- 18. Что такое __gxx_personality_v0 для?
- 19. Что такое ~ для CSS
- 20. Что такое System.Web.Extensions для?
- 21. Что такое move_iterator для
- 22. Что такое & amp для
- 23. Что такое оператор ~ для
- 24. Что такое Lazy Загрузка?
- 25. Что такое preemption/Что такое preemtible ядро? Для чего это?
- 26. Android ListView addFooterView вопрос маржа/заполнение
- 27. Android добавляет нижний колонтитул в ListView addFooterView()?
- 28. Что такое PHPCI - что такое сборка?
- 29. Что такое структура разработки? Что такое IDE?
- 30. Что такое "?" делать? Что такое __FILE__?
Я не хочу вводить «нажмите здесь для более подробной информации». Я просто хочу показать сообщение «Загрузка ...», чтобы пользователь знал, что на сервере больше запросов. Этим элементам может потребоваться некоторое время для загрузки. Разве нет способа сделать диапазон позиций двух столбцов? – sofiaguyang