Cómo crear un estante como ver en Android?
¿Cómo crear un estante como ver en android que muestran varios libros en cualquier fila? Además, debe tener características horizontales y verticales como la aplicación moon + reader tiene.
Puedo escribir una vista de estantería que se mueve horizontalmente pero no funciona completamente. Utilicé un archivo de xml para los artículos de la visión que incluyeron la imagen, el texto y el 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 usarla para varias filas.
- ¿Mi proceso de almacenamiento en caché de imágenes va a perder memoria?
- Cómo cambiar el color de texto de un elemento ListView?
- ¿Cómo puedo probar ListView con Robolectric 2.2? Dice que android.widget.ListView todavía no está implementado
- ¿Por qué hay ListVIew en android?
- Android Listview reduce la velocidad de desplazamiento
- Rellene Listview desde el origen de la matriz de cadenas, con un String ArrayAdapter
- Android listview item altura
- Cómo obtener la miniatura de Android Contact
- ¿Cómo puedo añadir mi diseño dinámico a ListView?
- Android: ¿cómo actualizar el contenido de ListView?
- Línea negra bajo algunos elementos ListView
- Obtener id de recurso desde la vista que se infló
- Pinterest como Grid en Android
Última actualización: Ahora, puedo detectar una nueva forma de crear shelf-view mejor que la solución anterior. Lo describí en CodeProject
Por cierto, en esta aplicación he utilizado dos clases:
-
HorizontalListView Clase que extiende el AdapterView. Se descargó de GitHub
-
El uso de la biblioteca de Quaere casi igual que Linq2Object en .Net. Puede descargarlo aquí .
Abr 22 '12:
Hay algunas maneras de implementar la vista de estante que tiene dos características (desplazamiento horizontal y vertical). Trato de escribir un programa que se puede ejecutar dinámicamente. Esta aplicación de ejemplo tiene un archivo XML y una clase java showShelfView .
Para que pueda ver mi aplicación:
archivo XML principal: Primero, agrega 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 Clase: Inner TableLayout agrega varios horizontalScroll igual a número de filas. También interior cualquier TableRow añadir imagen.
No olvide establecer 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 probar un IntentService con Robolectric?
- Android NDK: Dalvik Heap y Native Heap – Cómo separar entre los dos