2012-08-14 47 views
6

Necesito proporcionar la instalación como se muestra en las imágenes.Cambiar la vista de Android

enter image description here

Second View

En primera vista cuando hay ViewPager en la parte inferior. Cuando el usuario intercambia de derecha a izquierda, el primero debe reemplazar por el segundo. Eso puedo hacer Pero
Mi pregunta es cómo a la mitad de la próxima vista al final del lado derecho y del lado izquierdo.

es decir, "primero" de la primera vista y "Thir" de la segunda vista.

+0

mejor que puedes usar la vista personalizada – Ramkumar

Respuesta

6

Puede usar la galería aquí. Dentro de la galería para cada elemento, configure los parámetros de diseño (ancho) para que se ajusten a sus requisitos.

El problema con la galería es que no gira los elementos. Lo que significa que una vez que llegas al final de la lista, no obtienes el primer elemento.

Pero también hay un truco para superarlo. Todo lo que necesita hacer es establecer el recuento de la lista en un número muy grande (INT_MAX) y en su adaptador devolver cuidadosamente las vistas adecuadas mediante el cálculo del%.

Esto asegurará que no llegue pronto al final de la lista.

+2

La clase de la galería está obsoleta ahora ... – himanshu

+0

Aww ... eso es triste ... entonces tendremos que hacer todo el circulo de adaptadores de vista nosotros mismos. –

5

me gustaría sugerir la salida a la solución para la cuestión Android ViewPager with previous and next pages visible?) - utilizando un margen de página negativo (a través de ViewPager.setPageMargin) le permitirá ver varias páginas a la vez (es decir, a la izquierda ya la derecha tu página actual).

+0

pero el problema es que no podemos poner dos viewpager en una sola actividad o diseño. – user861973

+0

@ user861973 - ah, tu publicación dice 'there is viewpager en la parte inferior', por lo que pensé que ya estabas usando un ViewPager para la barra de desplazamiento inferior y no también para el contenido principal.En ese caso, podría sugerir el uso de [ViewPagerIndicator] (http://viewpagerindicator.com/) y específicamente el [TabPageIndicator] (https://github.com/JakeWharton/Android-ViewPagerIndicator/blob/master/library/src/ com/viewpagerindicator/TabPageIndicator.java). En ese caso, probablemente solo desee usar un margen negativo en el diseño para que las imágenes de la pestaña lateral solo se muestren a medias. – ianhanniballake

2

Finalmente encontré una solución a esto. Está utilizando TitlePageIndicator del indicador de buscapersonas en su proyecto. Para lograr este efecto, debe realizar algunas modificaciones a la clase TitlePageIndicator.
La idea es cambiar el texto en el lado izquierdo hacia la izquierda por una cantidad igual a la mitad de su tamaño (podría ser cualquier cosa) y el texto en el lado derecho hacia la derecha en una cantidad igual a la mitad de su tamaño (podría cualquier cosa).

Para establecer límites a los textos en el lado izquierdo clipViewOnTheLeft (...) se utiliza método y para establecer los límites para el texto en el lado derecho clipViewOnTheRight (...) se utiliza método. Aquí debe hacer estas modificaciones.

Esto es lo que hay que hacer:

/** 
* Set bounds for the right textView including clip padding. 
* 
* @param curViewBound 
*   current bounds. 
* @param curViewWidth 
*   width of the view. 
*/ 
private void clipViewOnTheRight(RectF curViewBound, float curViewWidth, int right) { 
    curViewBound.right = right - mClipPadding + curViewWidth/2; 
    curViewBound.left = curViewBound.right - curViewWidth; 
} 

/** 
* Set bounds for the left textView including clip padding. 
* 
* @param curViewBound 
*   current bounds. 
* @param curViewWidth 
*   width of the view. 
*/ 
private void clipViewOnTheLeft(RectF curViewBound, float curViewWidth, int left) { 
    curViewBound.left = left + mClipPadding - curViewWidth/2; 
    curViewBound.right = mClipPadding + curViewWidth; 
} 

Usted tendrá que hacer estos cambios en el archivo TitlePageIndicator.java.

+0

podría publicar algún comentario si esta solución funcionó para usted o no? – karn

Cuestiones relacionadas