Animación de Android dejando artefactos

Estoy teniendo un problema bastante extraño con la animación en mi proyecto. En las capturas de pantalla publicadas a continuación se puede ver claramente la tarjeta de Totales dejando algún tipo de pista en la animación. Este problema es reproducible en un stock Nexus 7 que ejecuta 4.2.2. La tarjeta Totals tiene una animación de estilo de Google Now. Es importante tener en cuenta que el contenedor de la tarjeta de totales es un fragmento, el menú a la izquierda en la captura de pantalla de paisaje es un fragmento diferente, y los botones de abajo son parte de la actividad a la que se adjuntan los fragmentos.

Imágenes de Landscape

Captura de pantalla de Portrait

No puedo encontrar una solución en línea, he intentado setFillAfter "true" y compensar el comienzo de la animación. El rastro de los botones de la actividad en la parte inferior ("Anterior y" Siguiente) desaparece cuando se presiona uno de los botones.

Aquí está el código en el onCreateView de los totales Fragmento:

final View view = inflater.inflate(R.layout.fragment_totals, container, false); Fonts.setRobotoThinFont(getActivity(), view); final LinearLayout mContainer = (LinearLayout) view.findViewById(R.id.container); final View mCard = inflater .inflate(R.layout.view_simpletotal, mContainer, false); Animation animation = AnimationUtils.loadAnimation(getActivity(), R.anim.card_animation); mContainer.addView(mCard); mCard.startAnimation(animation); return view; 

Cualquier ayuda sería muy apreciada!

Usted puede deshacerse fácilmente de él simplemente invalidando la actividad del contenedor cuando termina la animación.

Le sugiero que utilice el método setLayoutAnimation() de la clase ViewGroup . Creo que te ayudará.
Por ejemplo, puede escribir este código dentro de su clase de fragmento:

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { ... rootView.setLayoutAnimation(getLayoutAnimation()); ... } private LayoutAnimationController getLayoutAnimation() { Animation animation = new RotateAnimation(30, 0, -100, 0); animation.setDuration(1000); LayoutAnimationController layoutAnimationController = new LayoutAnimationController(animation); return layoutAnimationController; } 

Vea lo que sucederá con la animación.

  • Animar ImageView dentro de WindowManager en un servicio de Android
  • Pausa de reproducción de Android y problema de reproducción
  • Android: efecto curl de página como iphone
  • Expandiendo / Colapsando CardView con un gesto de clic o de deslizamiento (Android)?
  • Animación simple de Android TextView
  • Animación de Android flip cubierta y facilitar hasta (animación de libro abierto)
  • Ver animación de derecha a izquierda android
  • Cómo cambiar el valor de NumberPicker con animación?
  • ¿Cómo puedo eliminar el retraso antes de una animación LayoutTransition
  • Android ObjectAnimation sólo se inició una vez
  • Animar el ancho de cambio de android RelativeLayout
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.