Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android image rotate via xml file

Tags:

android

xml

I've been attempting to make a image file rotate on the spot and am struggling, every tutorial I find seems to do this in a different way.

Can someone point where I'm going wrong here.

GamePlay.java

import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.widget.ImageView;

public class GamePlay extends Activity {

 /** Called when the activity is first created. */
 @Override public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.gameplay);

 ImageView logo = (ImageView)findViewById(R.id.mainlogo);
 logo.setBackgroundResource(R.anim.rotate);

 AnimationDrawable frameAnimation = (AnimationDrawable) logo.getBackground();

 frameAnimation.start();

 }
}

rotate.xml

<?xml version="1.0" encoding="UTF-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:pivotX="50%" 
android:pivotY="50%" 
android:fromDegrees="0"
android:toDegrees="360" 
android:drawable="@drawable/logo" />

gameplay.xml

<ImageView
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content"
    android:id="@+id/mainlogo"
    android:src="@drawable/logo">       
</ImageView>

like image 408
Phoenix26 Avatar asked May 16 '11 22:05

Phoenix26


1 Answers

Change rotate.xml to

<?xml version="1.0" encoding="UTF-8"?>
 <set xmlns:android="http://schemas.android.com/apk/res/android" >
  <rotate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1200"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:repeatCount="infinite"
    android:toDegrees="360" />
 </set>

place it in res/anim/ folder

and try this to start animation

ImageView logo = (ImageView)findViewById(R.id.mainlogo);
Animation rotateAnimation = AnimationUtils.loadAnimation(context,
            R.anim.rotate);
logo.startAnimation(rotateAnimation);
like image 122
sameerror Avatar answered Nov 19 '22 14:11

sameerror