He estado luchando recientemente con el marco TranslateAnimation proporcionado por la biblioteca de UI de Android.TranslateAnimation aplicado a un rastro de hojas de ImageView
He diseñado un RelativeLayout que tiene un GridView ocupando el 80% de la pantalla más o menos y un ImageView en la parte inferior de la pantalla. Se supone que este último se mueve constantemente por la parte inferior de la pantalla, con direcciones aleatorias.
Aquí está el diseño:
<ImageView
android:id="@+id/bottom_fish"
android:layout_alignParentBottom="true"
android:adjustViewBounds="true"
android:cropToPadding="true"
android:scaleType="centerInside"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp"
android:layout_alignParentLeft="true"
android:layout_weight="0"
android:src="@drawable/little_fish_right"
></ImageView>
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_above="@id/mouin_bottom"
android:columnWidth="90dp"
android:numColumns="4"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
y aquí está la TranslateAnimation:
TranslateAnimation slide = new TranslateAnimation(x0, newX, y0, newY);
slide.setFillAfter(true);
slide.setInterpolator(new LinearInterpolator());
slide.setDuration(duration);
slide.setAnimationListener(animationListener);
iv.startAnimation(slide);
x0 += newX;
y0 += newY;
El AnimationListener asignado a la animación sólo llama a este método en la función onAnimationEnd .
El asunto es que cuando la imagen se mueve de derecha a izquierda, eventualmente deja rastros de mapa de bits en la pantalla, que se elimina después de un tiempo.
¿Alguna idea de dónde se puede presentar el problema?
Gracias.
intenta dar falso en el método setFillAfter(). slide.setFillAfter (false); –