2012-05-03 16 views
10

Cómo hacer un widget con algo así como ListView. Lo hice usando LinearLayout, pero no sé cómo descubrir la cantidad de filas. (Quiero saber la cantidad exacta de filas para hacer Reproductor capaces de paginación)Implementación de ListView en el widget de la pantalla de inicio

quiero que se vea como este (photoshop y copypast):

enter image description here

Notas:

  1. Android 2.3.4 y abajo.
  2. Reproductor de tamaño 4x4

ACTUALIZACIÓN Y ACLARACIÓN:

Cuando dije "desplazamiento" Me refiero a desplazarse por clic en los botones arriba y abajo (se ve en la captura de pantalla), es decir paginación

+0

¿Su ListView contiene más datos de los que se muestran o simplemente desea cubrir el fondo de pantalla de todo el 4x4? – Sam

+0

Lleno dinámicamente ListView mientras tiene espacio disponible (294 máximo). Tomo 294 de fórmula cellNumber * 74 - 2. Quiero cubrir todo 4x4 pero no sé cómo calcularlo tamaño – karabara

+0

No he trabajado mucho con widgets, pero ListView no dibujará elementos a menos que sean visibles. Parece que estás haciendo un trabajo innecesario. ¿Qué sucede cuando simplemente vincula el ListView con el adaptador sin intentar limitar nada a 294dp? – Sam

Respuesta

1

El único ejemplo de pre 3.0 con fuente que conozco es el proyecto ScrollableContacts en Google Code. Cuenta con una lista desplegable en un widget de pantalla de inicio y funciona desde 2.1. Sin embargo, el widget requiere un reemplazo en el hogar; consulte la descripción del proyecto. La fuente se puede ver here.

+1

La solución que ha ofrecido no funciona porque 294dp es solo una solicitud de células 4x4 de la pantalla de inicio. No es el tamaño real del widget. Por ejemplo, tenemos un dispositivo con 800px/480px y densidad 160. Por la fórmula "px = dp * (dpi/160)" tenemos una altura real de 800 dp. No 294 pd. – karabara

+0

He editado mi respuesta para incluir cómo obtener ppp y el tamaño de la pantalla en píxeles. –

+1

Su solución podría funcionar solo si muestra 4x4, y todo el espacio de la pantalla de inicio se le asigna al widget. Pero en realidad hay muchos dispositivos que tienen más de pantalla 4x4 y en cada dispositivo que vi hay botones de menú en la parte inferior de la pantalla. Así que no pude calcular el tamaño del widget a partir del tamaño de la pantalla con su solución. – karabara

2

No sé cómo determinar el tamaño real del widget 4x4 en dp. Parece que solo se puede determinar conociendo el dispositivo específico.

Puede desplazarse por el número fijo de filas.

Cuestiones relacionadas