2012-06-27 17 views
6

Quiero crear un tipo de diseño de tarjeta con tarjetas que contienen un diseño ListView dentro de un HorizontalScrollableView que puede desplazar las tarjetas horizontalmente. Todo funciona, pero tengo problemas con el desplazamiento. Puedo desplazar la vista de lista verticalmente solo si no estoy desplazando las tarjetas horizontalmente y viceversa.Uso del diseño de ScrollViews en HorizontalScrollView

Este es el contenedor principal:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <HorizontalScrollView 
     android:id="@+id/listview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="#ddd" > 

     <LinearLayout 
      android:id="@+id/list" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" android:orientation="horizontal" > 
     </LinearLayout> 
    </HorizontalScrollView> 



</RelativeLayout> 

inflè y añadir los elementos de ListView a la disposición lineal. Me gustaría permitir el desplazamiento vertical y horizontal sin problemas sin este tipo de limitaciones (desplazamiento simultáneo horizontal y vertical).

¿Cómo puedo lograr esto?

+0

Así que desea desplazarse toda la vista de lista horizontal o sólo las filas en la vista de lista ?? –

+0

Quiero desplazar la lista verticalmente y las cartas que contienen la lista horizontalmente. Puedo hacer eso pero no puedo desplazarme simultáneamente, por lo que es muy difícil lograr un buen resultado – Matroska

+0

Quiere decir, quiere un gesto diagonal para desplazarse simultáneamente tanto en el contenedor como en la vista de lista, como mover el dedo hacia arriba y hacia la derecha y hacer scrollview scroll right y listview desplácese hacia arriba al mismo tiempo? –

Respuesta

0

Sugeriría tener su horiziontallayout como la vista raíz que devuelve en getView() en su adaptador. De esta forma, cada fila se desplazará por separado una de la otra. Si eso no funciona de inmediato, deberá establecer setItemsCanFocus (verdadero) para que sus filas den la información de su desplazamiento horizontal.

+0

no, pero el problema es que no quiero desplazar horizontalmente los elementos de la vista de lista sino las tarjetas porque son muchas y quiero verlas todas.Entonces, si [y] representa el tamaño de la pantalla y | es una tarjeta/vista de lista, esto es lo que tengo: [| | | |] | | | | entonces el desplazamiento horizontal es para mirar tarjetas. – Matroska

1

Le sugiero que tome ViewFlipper para dar efecto de desplazamiento horizontalmente. A continuación, agregue ListView a flipper como un niño. Usa el gesto para moverlo hacia la derecha y hacia la izquierda.

ListView se desplazará verticalmente y si no puede establecer OnItemClickListener en ListView, puede utilizar el método SingleTap de Gesto.

ListView inside View flipper discussion 1 y ListView inside View Flipper Discussio 2

+0

la interfaz cambiaría mucho de esta manera ... – Matroska

+0

La interfaz cambiará pero puedes personalizarla de alguna manera – Sameer

Cuestiones relacionadas