android android-layout customization android-view stackview

¿Cómo implementar vista de pila personalizada en Android?



android-layout customization (2)

He buscado en Internet pero no he podido encontrar una buena explicación o consejo. Básicamente, quiero implementar esta funcionalidad.

en deslizarse hacia abajo

Usé la clase StackView y todo lo que obtengo es esta pila "diagonal"

Quiero que las vistas estén una detrás de otra, como en las imágenes de arriba.

Se hace una pregunta similar aquí -> Android personaliza stackview , pero no pude encontrar ninguna respuesta satisfactoria.

He leído el código para StackView como se sugirió, pero sinceramente, no sé cómo lo personalizaría para obtener lo que quiero. Cuando cambio el valor de PERSPECTIVE_SHIFT_FACTOR_X o PERSPECTIVE_SHIFT_FACTOR_Y, nada cambia y obtengo la misma "vista en diagonal". ¿Me estoy perdiendo de algo?

Gracias de antemano por las respuestas.


No puede cambiar el PERSPECTIVE_SHIFT_FACTOR_X original porque es un campo privado.

StackView usa muchas clases que tienen visibilidad de paquete y solo se pueden usar en el paquete android.widget .

Además, algunas de esas clases están compiladas previamente y no se puede encontrar la fuente, por lo que no puedes copiarlas y StackView y crear tu propio StackView personalizado desde cero.

Puede hacer que las vistas aparezcan en una columna anulando onLayout , pero una vez que las anima, sus posiciones vuelven a ser las predeterminadas. Lamentablemente, las animaciones de la vista se realizan en métodos privados de StackView por lo que tampoco puede hacer nada al respecto.

Es mejor crear su propia clase que hace esto, y puede hacer referencia al código utilizado en la fuente de StackView . Crear una clase así podría ser mucho trabajo y definitivamente no está dentro del alcance de una sola pregunta.


Siéntase libre de usar mi biblioteca disponible aquí .

Hace exactamente lo que quiere y se basa en ViewPager para que pueda usarlo con un PagerAdapter típico de su elección.