Quiero tener un ListView que cuando hago clic en el elemento, la vista se desliza hacia la izquierda.Cómo animar un elemento en ListView cuando se hace clic en él?
por lo que tengo:
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
arg1.startAnimation(openAnimation);
}
});
Sin embargo, la animación aplicarán a los distintos elementos de la lista en lugar de la que está hecho clic en. El comportamiento parece ser aleatorio ya que en algún momento le pasó a más de un elemento al mismo tiempo.
Como sospechaba, esto se debe a la forma en que el adaptador reutiliza su vista para crear un elemento. Fui a modificar el método getView en mi adaptador para inflar una nueva vista cada vez que se llama. Entonces la animación ya no ocurre.
¿Hay alguna manera de resolver esto? Traté de mover la animación dentro de mi Adaptador pero luego no puedo asociarla con otra acción en Listview.
En última instancia, quiero que se pueda hacer clic en el elemento, pero al deslizar hacia la izquierda/derecha aparece el botón Eliminar (comportamiento de eliminación de iOS). ¿Estoy en el camino equivocado aquí? Esto debería ser posible, aunque Android puede implementar deslizar para eliminar en la barra de notificaciones.
"Comportamiento de eliminación de iOS" NO NO NO NO! Android no es iOS Por favor, no use patrones de diseño de iOS. Los usuarios de Android esperan experiencia de usuario de Android y la experiencia de iPhone. – slayton
Entiendo su preocupación. Estoy totalmente en contra de esta idea yo mismo. Pero yo no soy quien toma la decisión aquí. Pero tienes que admitirlo, desliza para eliminar está allí en Android. La implementación está ahí, solo una presentación diferente. – RobGThai
El panel de notificaciones probablemente tenga una implementación personalizada de una vista de lista, ya que la clase básica de vista de lista no admite este deslizamiento para eliminar el comportamiento – slayton