Estoy tratando de usar el marco de animación de Android para mover mi ImageView en un patrón de diamante. Aquí está mi animation.xml:Problemas de XML de animación de Android
<set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="true">
<translate
android:fromXDelta="40%p" android:toXDelta="90%p"
android:fromYDelta="10%p" android:toYDelta="40%p"
android:duration="500" android:startOffset="0"/>
<translate
android:fromXDelta="90%p" android:toXDelta="40%p"
android:fromYDelta="40%p" android:toYDelta="90%p"
android:duration="500" android:startOffset="500"/>
<translate
android:fromXDelta="40%p" android:toXDelta="10%p"
android:fromYDelta="90%p" android:toYDelta="40%p"
android:duration="500" android:startOffset="1000"/>
<translate
android:fromXDelta="10%p" android:toXDelta="40%p"
android:fromYDelta="40%p" android:toYDelta="10%p"
android:duration="500" android:startOffset="1500"/>
</set>
Mi diseño:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent">
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon"/>
</FrameLayout>
Y mi onStart:
protected void onStart() {
super.onStart();
ImageView img = (ImageView)findViewById(R.id.img);
Animation a = AnimationUtils.loadAnimation(this, R.anim.diamond);
img.startAnimation(a);
}
Cuando comienzo mi solicitud único que veo es una pantalla en blanco durante 2 segundos y luego mi imagen aparece en la esquina superior izquierda de la pantalla. Si elimino todas menos una de las animaciones de traducción, veré que la imagen se mueve en una línea diagonal.
Preferiría usar XML para definir la animación y no Java.
¿Alguien tiene alguna idea de cómo puedo ver toda la animación?
-Dan
Parece que tiene algo que ver con el uso de "% p". Si cambio "% p" a "%", toda la animación funciona, pero ahora está limitada a una parte mucho más pequeña de la pantalla. De acuerdo con el documento "%" está en relación con el objeto y "% p" está en relación con el objeto primario del objeto, que es realmente lo que quiero. Lo que explica por qué solo está haciendo la animación en una caja pequeña. – Dan
Para aclarar más, me gustaría usar XML para definir mi animación en relación con el elemento primario de ImageView que estoy animando. No aceptaré ninguna respuesta que diga que el marco está roto, ni aceptaré una respuesta que requiera que la animación se defina en Java. – Dan