Animación giratoria androide

tengo un diseño que se parece a esto: (sin las flechas)

diseño

las imágenes de los animales alrededor del diseño. Quiero hacer una animación giratoria para que todos los animales irán a la dirección de las flechas (en realidad, deberían ser capaces de girar 360 alrededor de la vista) y reemplazar la ubicación del otro. PERO mantener su propia orientación – de modo que cada animal se mantendrá de pie sobre sus piernas, y no su cabeza 🙂

Estoy atascado con este problema durante 2 días, y no tengo ni idea de cómo implementar esto

por favor cualquier ayuda? Gracias, Ron

Puedes animarlos manualmente, como los sprites de juegos. Otra opción sería oponerse a las animaciones de rotación:

rotate_left.xml

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <rotate android:toDegrees="0" android:fromDegrees="359" android:pivotX="50%" android:pivotY="50%" android:duration="2000" android:repeatCount="infinite" android:interpolator="@android:anim/linear_interpolator" /> </set> 

rotate_right.xml

 <set xmlns:android="http://schemas.android.com/apk/res/android"> <rotate android:toDegrees="359" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:duration="2000" android:repeatCount="infinite" android:interpolator="@anim/lin" /> </set> 

Diseño de archivo xml (sólo un cuadro de texto en la parte superior e inferior. Usted tendrá que implementar las 4 esquinas usted mismo;)

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal"> <FrameLayout android:layout_width="200dp" android:layout_height="200dp" android:id="@+id/outer" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:id="@+id/top" android:text="Top"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:id="@+id/bottom" android:text="Bottom"/> </LinearLayout> </FrameLayout> </LinearLayout> 

En su Actividad:

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.[yourlayout]); findViewById(R.id.outer).startAnimation(AnimationUtils.loadAnimation(this,R.anim.rotate_left)); findViewById(R.id.top).startAnimation(AnimationUtils.loadAnimation(this,R.anim.rotate_right)); findViewById(R.id.bottom).startAnimation(AnimationUtils.loadAnimation(this,R.anim.rotate_right)); } 

Por alguna razón no puedo obtener la rotación para usar el interpolador lineal correctamente. Sigue acelerando / disminuyendo la velocidad. Podría tener que hacer eso en código.

  • La superficie de la cámara Android se cambió constantemente
  • Grupos enlazados en ExpandableListView
  • Custom Seekbar con efecto de enmascarar con dos estirables?
  • ImageView - Zoom en estiramiento o despliegue hacia abajo
  • Barra de búsqueda personalizada con los bordes cortados
  • Cómo crear un ImageView que llena la altura de los padres y muestra una imagen lo más grande posible?
  • Cómo hacer una rotación de imagen suave en Android?
  • "El niño especificado ya tiene un padre" error usando FragmentStatePagerAdapater
  • Cómo restablecer completamente la vista web de Android antes de cargar la nueva solicitud
  • ¿Cómo replicar el botón de acción flotante Inbox (con texto para cada botón secundario)?
  • Tabla de Donuts Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.