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); 
  • Ventaja y desventaja de CardView
  • ¿Cómo puedo antialias el límite del clip en el lienzo de Android?
  • ¿Hay algún sitio web que muestre todos los componentes y widgets de interfaz de usuario disponibles con código fuente?
  • Tamaño de Android Widget
  • Cómo iniciar un servicio cuando .apk está instalado por primera vez
  • Cambiar el estilo de android MediaController
  • RemoteViewsFactory llamado getViewAt cuando el dataset vacío
  • Algunos widgets de terceros dejan de actualizarse después de la actualización de la aplicación
  • Mostrar tabla HTML en la vista web
  • Searchbar cambio de posición del pulgar cuando el usuario pulsa las teclas de volumen del dispositivo
  • Negación de permisos de Android en Widget RemoteViewsFactory para contenido
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.