ListView ma metodę addFooterView, która jest przydatna do wyświetlania wiadomości ładującej. Ale GridView nie ma tej metody. Jak dodać widok stopki do GridView, jak pokazano w Google Play? Co to jest odpowiednik addFooterView dla GridView?
Odpowiedz
Nie, przepraszam, GridView nie oferuje tego rodzaju możliwości.
Jeśli chcesz uzyskać wpis "kliknij tutaj, aby uzyskać więcej", po prostu leniwy załaduję dane po osiągnięciu końca bieżących danych siatki. Możesz zajrzeć na stronę CommonsWare EndlessAdapter i spróbować dostosować ją do GridView.
Możesz spróbować użyć układu Względny, umieścić widok siatki i utworzyć układ Liniowy z atrybutem android:layout_alignParentBottom="true"
i umieścić to, co chcesz pod widokiem Siatki, co jest według mnie tym, czego chcesz.
Ale to nie sprawi, że będzie gładko jak w Google Play. – sofiaguyang
To, co robią, to inny plik xml o nazwie coś_footer. Wygląda "płynnie", ponieważ sprawia, że styl jest taki sam. Ale nie ma go w GridView. – 0gravity
Możesz pobrać apk Google play, zmienić jego nazwę na .zip i wypakować pliki xml, których użył. – 0gravity
Możesz używać nieskończonego odbiornika przewijania jako słuchacza przewijania gridview. Używając odbiornika przewijania, można uzyskać aktualną pozycję. po osiągnięciu końca pokazuje niestandardowy widok ładowania i po zakończeniu ładowania z sieci (AsyncTask lub Loader zakończone) możesz ukryć widok ładowania.
Android BucketListAdapter
Jest to realizacja adapterem goni, podobny do tego, co widać w aplikacji Google Play. Ma on układ kratowy o nazwie z elementów listy, z tą przewagą, że nadal można używać nagłówków i stopek o numerach - coś, co nie jest możliwe w standardowym GridView w wersji .
Dziękuję za list-adapter, potrzebuję tego samego. Nie obsługuje jednak elementu naciśniętego i element jest przezroczysty. Wygląda na to, że muszę zastąpić ListView, aby dostosować to zachowanie. –
Można to wykorzystać, Korzystanie OnScrollListener do monitorowania pozycji przewijania podczas przewijania do ostatniego elementu, można Controll widoczność widoku załadunku.
@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. Co to jest odpowiednik Swift dla dispatch_group_create
- 2. Co to jest odpowiednik coredata dla Androida
- 3. Co to jest odpowiednik WPF dla ControlPaint.Light?
- 4. Co to jest odpowiednik firebaseRef.push() z angularfire?
- 5. Co to jest odpowiednik "pythonic" w Ruby?
- 6. Co to jest rubinowy odpowiednik python'a getattr
- 7. Co to jest odpowiednik Swift 3 NSURL.URLByAppendingPathComponent()?
- 8. Co to jest odpowiednik java.sql.Types dla TEKSTU MySQL?
- 9. Co to jest odpowiednik PostgreSQL dla SQL Server NVARCHAR?
- 10. Co to jest odpowiednik java 8 dla transformAndConcat Guava?
- 11. Co to jest odpowiednik Groovy'ego dla dir() w Pythonie?
- 12. Co to jest odpowiednik OSX, C dla uint32 i uint64?
- 13. Co to jest odpowiednik linq dla operatora SQL IN
- 14. Co to jest odpowiednik basha dla csh 'where'?
- 15. Co to jest odpowiednik Matlaba dla "nie w" Pythona?
- 16. Co to jest odpowiednik LINQ-SQL dla Silverlight?
- 17. Co to jest odpowiednik Enum.GetName dla członka związku F #?
- 18. Co to jest odpowiednik "gem" w python?
- 19. Co to jest odpowiednik UINT32_MAX w C++?
- 20. Co to jest odpowiednik java javascript's String.fromCharCode?
- 21. Co to jest odpowiednik preg_quote w PHP?
- 22. Co to jest odpowiednik opencv do flaplr()?
- 23. Co to jest odpowiednik System.nanoTime() w .NET?
- 24. Co to jest odpowiednik "getElementsByTagName" w jQuery?
- 25. Co to jest odpowiednik Response.Redirect w Silverlight?
- 26. Co to jest deserializacja Jackson odpowiednik @ JsonUnwrapped?
- 27. Co to jest odpowiednik dispatch_block_t w swift?
- 28. Co to jest odpowiednik C# w java.util.regex?
- 29. Co to jest odpowiednik CGImageCreateWithImageInRect w MonoTouch?
- 30. Co to jest odpowiednik Java obiektu Scala?
Nie chcę wpisu "kliknij tutaj, aby uzyskać więcej". Chcę tylko pokazać komunikat "Ładowanie ...", aby poinformować użytkownika o tym, że żąda więcej elementów z serwera. Te elementy mogą trochę załadować. Czy nie ma sposobu, aby element był dwumianowy? – sofiaguyang