EditText stucks después de animación y vivo de vuelta en el desplazamiento …?
Estoy enfrentando un error bastante interesante pero molesto, en mi disposición lineal he ocultado otro diseño lineal usando margen en negativo y cuando el usuario selecciona un tipo de una lista traigo el diseño al frente usando Animación Translacional el error es que el diseño viene al frente Tengo un texto de edición que se convierte en muerto y cuando me desplazo (mi diseño principal está rodeado por la vista de desplazamiento) se activa y cuando dejo de desplazarse se vuelve a morir otra vez … Realmente falló en juzgar por qué esto está sucediendo chicos ayuda plz. …
También he pegado el enlace de vídeo que muestra este comportamiento molesto de mi aplicación
- Contando Chars en EditText Changed Listener
- Editar el foco de texto en android
- Cómo establecer dinámicamente los parámetros de diseño en Android?
- Cómo establecer el resumen de preferencias edittext y hacer que se pegue
- Editext cambia el color del borde con shape.xml
Http://www.dailymotion.com/video/xlskk8_android-app-edit-text-error_tech
Mi diseño xml dentro de la vista de desplazamiento es
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dip" android:layout_marginRight="10dip" android:layout_marginTop="-110dip" android:layout_marginBottom="5dip" android:id="@+id/notes_editor" android:orientation="vertical" > <EditText android:id="@+id/enter_note" android:layout_height="wrap_content" android:layout_width="fill_parent" android:maxLines="2" android:lines="2"> </EditText> <Button android:id="@+id/save_note" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Save" /> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="-10dip" android:id="@+id/notes_list" android:orientation="vertical" > </LinearLayout> </LinearLayout>
El diseño lineal vacío debajo del botón se utiliza para añadir dinámicamente vistas secundarias todas las demás cosas están realizando correctamente su funcionalidad, sólo el texto de edición que muestra este comportamiento anormal.
El código utilizado para la animación está por debajo
public void animateEditor() { slider = new TranslateAnimation(0, 0, 0,180 ); slider.setDuration(1250); slider.setFillAfter(true); notes_list.startAnimation(slider); notes_editor.startAnimation(slider); }
- EditText setError () sin mensaje solo el icono
- Cambiar el color del puntero del cursor EditText de Android mediante programación
- Android Long Pulse en Editar Comportamiento de texto
- ¿Cómo se reduce el espacio entre la sugerencia editText flotante y el cuadro editText en Android?
- Obtener texto de un EditText
- ScrollView salta a EditText
- Cadena de escape de EditText
- Cómo puedo fijar el foco (y exhibir el teclado) en mi EditText programmatically
El problema aquí es cuando se aplica slider.setFillAfter(true);
El código anima la imagen de las Vistas, pero no las Vistas reales, por eso cuando las veo después de deslizar hacia abajo la animación estaban (EditText y guardar el botón) pegado o puede decir muerto y no escuchar sus eventos porque las vistas reales estaban detrás del diseño Y en el frente era sólo su imagen
La solución que encontré para ese problema es aplicar código siguiente:
slider.setFillAfter(false); slider.setFillBefore(false); // OR you can directly write slider.setFillEnabled(false);
Y, a continuación, para mostrar las vistas reales en el nuevo lugar mediante la configuración de escucha de animación y mediante el siguiente método:
public void onAnimationEnd(Animation a)
Colocar las vistas en una nueva posición al final de la animación utilizando el método anterior. Y aquí todavía viene otro problema de parpadeo que se debe al problema en el método de escucha de animación de android que es que se llama antes de la animación realmente termina y causa efecto parpadeante, una solución difícil es poner la siguiente línea de código en la primera línea public void onAnimationEnd(Animation a)
método public void onAnimationEnd(Animation a)
.
// in my case animation applied to notes_editor so the code will be notes_editor.clearAnimation();
- ¿Excepción de conversión de clase de adaptador al eliminar una vista de pie de página?
- Crear una anotación Java con comportamiento contextual IDE