Rotación a un ImageView, dentro de un RelativeLayout

Tengo un ImageView en un RelativeLayout :

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tabBar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#272727" android:orientation="horizontal" > <ImageView android:id="@+id/logoMobile" android:layout_width="100dp" android:layout_height="50dp" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:gravity="center" android:paddingTop="2.2dp" android:src="@drawable/logo" /> <ImageButton android:id="@+id/BtnSlide" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_centerVertical="true" android:background="@null" android:src="@drawable/lin" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/BtnSlide" android:gravity="center" android:paddingLeft="30dp" android:text="HEADER" android:textAppearance="?android:attr/textAppearanceMedium" /> 

Este xml define una barra de tabulación en la parte superior de la aplicación, justo debajo de la barra de notificación. Quiero que el ImageView gire alrededor de su centro. Lo intenté de esta manera en mi método onCreate :

 logo = (ImageView)findViewById(R.id.logoMobile); ApplyAnimationToObject doAnimation = new ApplyAnimationToObject(logo); doAnimation.startRotationAnimation(); 

Y luego la clase ApplyAnimationToObject :

 package Logic; public class ApplyAnimationToObject { final ImageView image; public ApplyAnimationToObject(ImageView image) { this.image = image; } public void startRotationAnimation() { RotateAnimation anim = new RotateAnimation(0f, 350f, 15f, 15f); anim.setInterpolator(new LinearInterpolator()); anim.setRepeatCount(Animation.INFINITE); anim.setDuration(7000); image.startAnimation(anim); } } 

Pero ImageView no girará ni tendrá ninguna animación en absoluto. ¿Puede alguien ayudarme?

EDITAR

He intentado usar este código:

 public void rotateView(View v){ Animation rotateAnimation = new RotateAnimation(0, 360, v.getWidth() / 2, v.getWidth() / 2); rotateAnimation.setDuration(10000); v.startAnimation(rotateAnimation); if(rotateAnimation.hasEnded()) Log.i("+++++ANIMATION+++++", "ENDED!!"); else Log.i("+++++++ANIMATION++++++", "NOT ENDED"); } 

Y la salida hasta LogCat me dice que la animación no ha terminado todavía, pero no hay animación para el ImageView

Pruebe el código siguiente:

  Matrix matrix=new Matrix(); imageView.setScaleType(ScaleType.MATRIX); //required matrix.postRotate((float) angle, pivX, pivY); imagView.setImageMatrix(matrix); 

Prueba de otra manera también:

Utilice RotateAnimation en la vista que desea girar y asegúrese de que la animación establezca en fillAfter = true, duration = 0 y fromDegrees = toDgrees

 <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="45" android:toDegrees="45" android:pivotX="50%" android:pivotY="50%" android:duration="0" android:startOffset="0" /> 

E infle la animación en el código:

 Animation rotation = AnimationUtils.loadAnimation(this, R.anim.rotation); myView.startAnimation(rotation); 

Trate de usar el siguiente código:

 public void rotateView(View v){ Animation rotateAnimation = new RotateAnimation(0, 360, v.getWidth() / 2, v.getWidth() / 2); rotateAnimation.setDuration(3000); v.startAnimation(rotateAnimation); } 

Para solicitar la rotación:

 rotateView(imgView); 
  • Nueva línea (/ n) no es compatible con android?
  • ¿Cómo cambiar el fondo del widget usando RemoteViews?
  • Cómo calcular el tamaño de widget Android adecuado?
  • Excepción de nombre no encontrado en PackageManager.GET_CONFIGURATIONS
  • Creación de un banner de aplicación inteligente para Android
  • Entrada de números de Android con signo más y menos
  • ¿Por qué no se actualiza mi widget de aplicación en API 3 o 4?
  • Cómo cambiar el color del puntero de EditText (no el cursor)
  • Android personalizar stackview
  • Teclado Android Entrar / Siguiente Button handler
  • Cambiar tamaño: Botón de radio de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.