android listview horizontal-scrolling vertical-scrolling

¿Cómo crear un estante como vista en Android?



listview horizontal-scrolling (1)

Última actualización: ahora, puedo detectar una nueva forma de crear una visualización en estantería mejor que la solución anterior. Lo describí en CodeProject

Por cierto, en esta aplicación utilicé dos clases:

  • Clase HorizontalListView que amplía el AdapterView. Descargado desde GitHub

  • La biblioteca Quaere usa casi lo mismo que Linq2Object en .Net. Puedes descargarlo here .

22 de abril de 12:

Hay algunas formas de implementar la vista de estante que tiene dos características (desplazamiento horizontal y vertical). Intento escribir un programa que pueda ejecutarse dinámicamente. Esta aplicación de muestra tiene un archivo XML y una clase java showShelfView .

Así que puedes ver mi aplicación:

Archivo XML principal: Primero, agregue el siguiente código en main.XML

<?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="wrap_content" android:id="@+id/sclView"> <TableLayout android:id="@+id/tblLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="0dp"> </TableLayout> </ScrollView>

showShelfView Class: Inner TableLayout agrega varios HorizontalScroll iguales con el número de filas. También interior cualquier TableRow añadir imagen.

No olvides configurar una imagen de estante para el fondo de Row:

public class showShelfView extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); int numRow = 4; int numCol = 8; TableLayout tblLayout = (TableLayout) findViewById(R.id.tblLayout); for(int i = 0; i < numRow; i++) { HorizontalScrollView HSV = new HorizontalScrollView(this); HSV.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); TableRow tblRow = new TableRow(this); tblRow.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); tblRow.setBackgroundResource(R.drawable.bookshelf); for(int j = 0; j < numCol; j++) { ImageView imageView = new ImageView(this); imageView.setImageResource(R.drawable.book1); TextView textView = new TextView(this); textView.setText("Java Tester"); textView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); tblRow.addView(imageView,j); } HSV.addView(tblRow); tblLayout.addView(HSV, i); } } }

¿Cómo crear un estante como la vista en Android que muestra varios libros en cualquier fila? Además, debe tener características horizontales y verticales como la aplicación moon + reader.

Puedo escribir una vista de estante que se mueve horizontalmente pero no funciona completamente. Utilicé un archivo xml para ver elementos que incluían imagen, texto y botón. Escribí una clase que extiende AdapterView para crear un ListView personalizado que llamé "shelf view" . Desafortunadamente, mi programa muestra una fila y no puedo usarlo en varias filas.