使用AnimationListener設置應用開啓時的歡迎界面

前一篇寫了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);

}

}

第四步:運行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章