MainActivity.java
activity_main.xml
sequencial.xml
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
Button btnSequential;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSequential = (Button) findViewById(R.id.idbtnSequential);
btnSequential.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView image = (ImageView) findViewById(R.id.idImageView);
Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), 23 R.anim.sequential);
image.startAnimation(animation);
}
});
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <!-- TODO: Update blank fragment layout --> <ImageView android:layout_weight="4" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/idImageView" android:src="@mipmap/ic_launcher"/> <Button android:layout_margin="4dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/idbtnSequential" android:text="Sequential" /> </LinearLayout>
sequencial.xml
<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" android:interpolator="@android:anim/linear_interpolator" > <!-- Move --> <translate android:duration="1000" android:fillAfter="true" android:fromXDelta="0%p" android:toXDelta="25%p" /> <translate android:duration="1000" android:fillAfter="true" android:fromYDelta="0%p" android:startOffset="2000" android:toYDelta="25%p" /> <translate android:duration="1000" android:fillAfter="true" android:fromXDelta="0%p" android:startOffset="3000" android:toXDelta="-25%p" /> <translate android:duration="1000" android:fillAfter="true" android:fromYDelta="0%p" android:startOffset="4700" android:toYDelta="-25%p" /> <!-- Rotate 360 degrees --> <rotate android:duration="1000" android:fromDegrees="0" android:interpolator="@android:anim/cycle_interpolator" android:pivotX="50%" android:pivotY="50%" android:startOffset="5000" android:repeatCount="infinite" android:repeatMode="restart" android:toDegrees="360" /> </set>
EmoticonEmoticon