前一篇写了TweenAnimation的使用方法,接下来就是如何在开启应用是播放一个动画。
第一步:在anim文件中新建test_set.xml文件,具体内容如下:
<?xml version="1.0" encoding="utf-8"?>
<set
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="0"
android:toDegrees="720"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
xmlns:android="http://schemas.android.com/apk/res/android">
</rotate>
<scale
android:fromXScale="3"
android:fromYScale="3"
android:toXScale="1"
android:toYScale="1"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
xmlns:android="http://schemas.android.com/apk/res/android">
</scale>
<alpha
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="4000">
</alpha>
</set>
第二步:布局文件添加一个ImageView
<ImageView
android:id="@+id/p_w_picpathView1"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_below="@+id/btn_alpha"
android:layout_marginTop="74dp"
android:layout_toRightOf="@+id/btn_alpha"
android:src="@drawable/ic_launcher" />
第三步:在MainActivity中找到ImageView对象并设置AnimationListener
private ImageView mImageView;
private Animation animation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mImageView = (ImageView) findViewById(R.id.p_w_picpathView1);
animation = AnimationUtils.loadAnimation(this, R.anim.testalpha);
animation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
Log.e("onAnimationStart", "onAnimationStart");
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
finish();
//如果第一次启动,跳转到新手指引
//否则跳转到主界面
}
});
mImageView.startAnimation(animation );
}
/**
* 判断应用是否第一次进入
* 如果第一次启动,跳转到新手指引
* 否则跳转到主界面
*/
private void isFistOpen(){
Log.e("isFistOpen", "isFistOpen");
SharedPreferences sharedPreferences = getSharedPreferences("isNoFistOpen", MODE_PRIVATE);
boolean isNoFistOpen = sharedPreferences.getBoolean("isNoFistOpen", true);
Log.e("isNoFistOpen", isNoFistOpen+"");
//如果第一次启动,跳转到新手指引,否则跳转到主界面
if(isNoFistOpen){
isNoFistOpen = false;
Editor edit = sharedPreferences.edit();
edit.putBoolean("isNoFistOpen", isNoFistOpen);
edit.commit();
Intent intent = new Intent(SplashActivity.this,TeacherActivity.class);
startActivity(intent);
}else{
startActivity(new Intent(SplashActivity.this,MainActivity.class));
//overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
//overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
overridePendingTransition(0,0);
}
}
第四步:运行