studio programacion oculto móviles libro juego juega easter desarrollo curso como aplicaciones android animation

programacion - Girar la animación de android



manual de programacion android pdf (4)

Agrega el siguiente xml en la carpeta de animación

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false" android:duration="4000" android:fromdegrees="0" android:pivotx="50%" android:pivoty="50%" android:todegrees="360" android:toyscale="0.0"> </set>

Espero que esto te ayudará..

para obtener más información http://www.blazin.in/2013/09/simple-rotate-animation-in-android.html

Estoy tratando de hacer una animación de imagen giratoria. Necesito rotar un ícono alrededor de mismo como lo hacen en una barra de progreso, pero lo que estoy obteniendo es una imagen que gira alrededor de un círculo. Aquí está mi código de animación

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

¿A dónde me voy mal aquí? Gracias


Bueno llegué donde me equivoqué. Le di un relleno a mi imagen que hizo que se apartara un poco cada vez que giraba. De todos modos, quité el relleno y ahora está funcionando bien.


Este es el código fuente para el diseño main.xml:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/testButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="animationText" android:onClick="AnimClick"/> <ImageView android:id="@+id/testImage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:contentDescription="image_desc" android:scaleType="fitCenter" android:src="@drawable/cat2" /> </RelativeLayout>

Para implementar la animación de rotación, podemos definir la animación por código XML o Java. Si queremos escribir la animación en el xml, necesitamos crear un archivo xml de animación en la carpeta / res / anim. Aquí, creamos un archivo xml llamado rotate_around_center_point.xml

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false" > <rotate android:duration="2500" android:interpolator="@android:anim/linear_interpolator" android:pivotX="50%" android:pivotY="50%" android:repeatCount="infinite" android:repeatMode="restart" android:toDegrees="360" /> </set>

y esta es mi actividad:

public class MainActivity extends Activity implements OnClickListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button) findViewById(R.id.testButton); btn.setOnClickListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } @Override public void onClick(View v) { // TODO Auto-generated method stub ImageView animationTarget = (ImageView) this.findViewById(R.id.testImage); Animation animation = AnimationUtils.loadAnimation(this, R.anim.rotate_around_center_point); animationTarget.startAnimation(animation); } }


Puedes intentar con el siguiente código, en lugar de hacerlo en XML:

RotateAnimation rotate = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); rotate.setDuration(4000); rotate.setRepeatCount(Animation.INFINITE); yourView.setAnimation(rotate);