Problema de superposición de texto en ViewFlipper ..

He utilizado el control ViewFlipper para mostrar tweets con un intervalo continuo de left to right . He añadido textview dinámico para cada tweet en ViewFlipper.

Todo funciona bien, pero algunas veces textview superpone. Introduzca aquí la descripción de la imagen

¿Cuál es la razón de este comportamiento extraño?

Código:

 for (int i = 0; i < tweets.length(); i++) { tweet = tweets.getJSONObject(i).getString("title")+"&nbsp;&nbsp; tweet on &nbsp;"+tweets.getJSONObject(i).getString("pubDate"); tv = new TextView(context); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT); params.weight = 1.0f; params.gravity=48; tv.setLayoutParams(params); tv.setGravity(Gravity.CENTER); tv.setTextSize(22); tv.setTextColor(ColorStateList.valueOf(Color.WHITE)); tv.setSingleLine(); //tv.setTextColor(getREs) tv.setText(tweet); flipper.addView(tv); } flipper.setInAnimation(inFromRightAnimation(1500)); flipper.setOutAnimation(outToLeftAnimation(1500)); flipper.startFlipping(); public static Animation inFromRightAnimation(int duration) { Animation inFromRight = new TranslateAnimation( Animation.RELATIVE_TO_PARENT, +1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f ); inFromRight.setDuration(duration); inFromRight.setInterpolator(new AccelerateInterpolator()); return inFromRight; } public static Animation outToLeftAnimation(int duration) { Animation outtoLeft = new TranslateAnimation( Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, -1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f ); outtoLeft.setDuration(duration); outtoLeft.setInterpolator(new AccelerateInterpolator()); return outtoLeft; } 

EDIT :

Aquí hay otra instantánea que muestra el problema anterior.

Introduzca aquí la descripción de la imagen

Tuve el mismo problema con ViewFlipper y el gesto onFling en algunos dispositivos con mi aplicación.

Al agregar un color de fondo a mi vista, pude resolver el problema. En mi caso fue el ListViews que estaban teniendo el texto duplicado superpuesto, por lo que acaba de añadir un fondo negro en el xml de cada ListView y se fijó el problema para mí.

 android:background="#000000" 

Este comportamiento todavía parece muy extraño y no estoy exactamente seguro de por qué esto lo arregló. Tal vez tenía algo que ver con la transparencia.

Tuve el mismo problema con ViewFlipper. I fnd la razón, mira el código incorrecto:

 public void setDuration(int ms) { mDurationTime = 1000*ms; this.setFlipInterval(mDurationTime);//don't do this } 

En mi caso, listview addHeader (ViewFlipper)

Tratar

 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 

Utilice FILL_PARENT en lugar de WRAP_CONTENT

Funcionó bien para mí.

Esto se debe a que la duración de InAnimation y OutAnimation es más corta que el tiempo de flipInterval.

Sólo asegúrese de que el tiempo flipInterval más largo que el tiempo de animación.

Ayúdelo a ayudar.

  • Cómo mantener la vista actual en ViewFlipper al cambiar la orientación
  • ¿Cuándo usar un ViewFlipper o una nueva actividad?
  • Android: el diseño de inflado toma mucho tiempo
  • Android - Control de animación de viewflipper con el dedo / táctil?
  • Android: Flip Animation utilizando XML para animación en android
  • Cómo cargar imágenes de la URL en el widget de la aplicación Android?
  • Desarrollo de una pantalla de inicio de Android
  • Creación de un ViewFlipper como la pantalla de inicio con MotionEvent.ACTION_MOVE
  • EditText no captura ViewFlipper arroja?
  • Android: ViewFlipper o ViewPager - ¿Cuál es la mejor opción?
  • ViewFlipper dentro de Remoteview showNext () y showPrevious () no funciona
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.