ListView tiene el método addFooterView que es útil para mostrar un mensaje de carga. Pero GridView no tiene este método. Entonces, ¿cómo agrego una vista de pie de página a un GridView como se muestra en Google Play? ¿Cuál es la contraparte addFooterView para GridView?
Respuesta
No, lo siento, GridView no ofrece este tipo de capacidad.
Si desea una entrada "haga clic aquí para ver más", simplemente cargaría los datos una vez que se hayan alcanzado los datos de la grilla actual. Puede mirar CommonsWare's EndlessAdapter, e intentar adaptarlo a GridView.
Usted puede tratar de utilizar una disposición relativa, poner la vista de cuadrícula y hacer un diseño lineal con el atributo android:layout_alignParentBottom="true"
y se va a poner lo que quieras debajo de la vista de cuadrícula, que es lo que creo que es lo que desea.
Pero esto no lo haría perfecto como en Google Play. – sofiaguyang
Lo que hacen es tener un archivo xml diferente llamado something_footer. Se ve "sin fisuras" porque hacen que el estilo sea el mismo. Pero no está dentro de GridView. – 0gravity
Puede descargar la aplicación Google play, cambiarle el nombre a .zip extraerla y ver los archivos xml que usaron. – 0gravity
Puede utilizar el oyente de desplazamiento sin fin como el oyente de desplazamiento de la vista de cuadrícula. Al usar el oyente de desplazamiento puede obtener la posición actual. cuando se llega al final, muestra la vista de carga personalizada y cuando se completa la carga desde la red (AsyncTask o Loader finalizado) puedes ocultar la vista de carga.
Android BucketListAdapter
Ésta es una implementación de un adaptador de la lista de cubo, similar a lo que que se ve en la aplicación Google Play. Cuenta con un diseño de cuadrícula de elementos de lista, con la ventaja de que todavía puede usar los encabezados y pies de página de la lista , algo que no es posible con el estándar GridView.
Gracias por su adaptador de lista, necesito lo mismo. Pero no admite el elemento presionado y el elemento hace clic de forma transparente. Parece que debo anular el ListView para personalizar también el comportamiento. –
Puede utilizar esta, uso OnScrollListener al seguimiento de la posición de desplazamiento, cuando se desplaza a la última opción, que usted puede controlar la visibilidad de la carga de vistas.
@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. cuál es la contraparte para gl_TexCoord en OpenGL ES 2.0
- 2. ¿Cuál es la contraparte sin firma de ptrdiff_t?
- 3. ¿Cuál es la mejor contraparte de ANTLR para crear analizadores en ruby?
- 4. listview addFooterView problems
- 5. lsof contraparte para una JVM?
- 6. ¿Cuál es la contraparte de Scala de la Unión Discriminada en F #?
- 7. Gradle contraparte del arquetipo Maven?
- 8. ¿ES5 tiene una contraparte para __lookupGetter__?
- 9. Contraparte para el atributo NUnit [SetUp()] en Visual Studio
- 10. ¿Cuál es la principal diferencia entre GridView/DetailsView/FormView en ASP.net
- 11. Contraparte de -application: openURL: sourceApplication: annotation:
- 12. ¿Hay una contraparte matplotlib de Matlab "stem3"?
- 13. ¿Cuál es la secuencia de eventos que se activan en el control asp.net Gridview?
- 14. iTextSharp para imprimir un gridview
- 15. Android agregando pie de página a ListView addFooterView()?
- 16. ¿Cuál es el cero para la cadena?
- 17. ¿Cuál es la demora máxima para setInterval?
- 18. ¿Cuál es la codificación predeterminada para System.IO.File.ReadAllText
- 19. ¿Cuál es la palabra para "habilitar/deshabilitar"?
- 20. ¿cuál es la solución alternativa para paymentWithProductIdentifier?
- 21. ¿Cuál es la posición: relativa útil para?
- 22. ¿Cuál es la macro int para stdin?
- 23. Tirar para refrescar para GridView en Android
- 24. Datagrid vs Gridview
- 25. GridView pierde datos durante la devolución
- 26. GridView o TableLayout?
- 27. Cómo establecer la animación flip 3D para niños de gridview
- 28. altura diferente para cada elemento de GridView
- 29. Para WebGrid o no para WebGrid ... ¿cuál es la respuesta?
- 30. getView es llamado varias veces para la primera posición en GridView
no quiero un "clic aquí para obtener más" entrada. Solo quiero mostrar un mensaje de "Cargando ..." para que el usuario sepa que hay más elementos solicitados del servidor. Estos elementos pueden tardar un tiempo en cargarse. ¿No hay una manera de hacer que un artículo abarque dos columnas? – sofiaguyang