2011-01-08 10 views

Respuesta

3

Tome un vistazo a la Workspace widget in the Android Open Source Project Launcher2 code. Este es el widget que implementa el comportamiento de búsqueda de lado a lado en la pantalla principal de Android.

La idea básica es crear un widget personalizado que pueda desplazar sus contenidos con reglas para ajustar a una posición final si el usuario se lanza o lo suelta. Use onInterceptTouchEvent para determinar cuándo el usuario ha cruzado un umbral de 'decaimiento' en movimiento horizontal (puede obtener los valores del sistema para esto desde ViewConfiguration) y eliminar el enfoque de entrada desde cualquier vista secundaria en la jerarquía. Desde allí, controle la panoramización en onTouchEvent. Puede usar un VelocityTracker para determinar cómo debería lanzar el contenido cuando el usuario lo suelta y un Scroller para ayudarlo a animar a la posición final.

2

Uso ViewPager apoyado por el Support-V4 package, puede poner Fragments en ella, uno para la pantalla principal, y otro para la barra lateral, y luego el usuario puede deslizar para ver la barra lateral oculto.

1

Puede hacer el panel con LinearLayout con un ancho en 0, luego puede usar también GestureBuilder para detectar deslizamiento horizontal y Animación para cambiar progresivamente el ancho de su LinearLayout al ancho deseado.

Cuestiones relacionadas