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.

  • Android - Control de animación de viewflipper con el dedo / táctil?
  • Hacer diferencias entre setOnClickListener y setOnTouchListener
  • EditText no captura ViewFlipper arroja?
  • ViewPager con límites de páginas anteriores y siguientes
  • Desplácese entre vistas Android
  • Android Cómo llamar a OnFling cuando Swiping en cualquier lugar de la actividad no sólo en el ViewFlipper
  • Obtener Id de recurso de ImageView
  • Cómo deslizar imágenes en ViewFlipper o ViewPager
  • Scrollview no desliza cuando es demasiado corto para desplazarse
  • Android ViewFlipper + animación de pantalla de inicio
  • El valor en edittext no se muestra hasta que se enfoque. Androide
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.