public abstract class BaseActivity extends AppCompatActivity {
public BaseActivity mContext;//上下文方便在activity中使用
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
overridePendingTransition(R.anim.slide_right_in, R.anim.slide_left_out);//设置activity进入和退出动画
setContentView(getContentViewLayoutResId());
mContext=this;
init(savedInstanceState);
}
/**
* 获取布局文件的id
*
* @return 返回对应Activity的布局文件id
*/
public abstract int getContentViewLayoutResId();
/**
* oncreate中初始化调用的方法
*
* @param savedInstanceState
*/
public abstract void init(Bundle savedInstanceState);
/**
* 重写finish方法设置程序finish一个页面时也有动画
*/
@Override
public void finish() {
super.finish();
overridePendingTransition(0, R.anim.slide_back_right_out);
}
}
slide_right_in
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="100%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>
slide_left_out
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="0%"
android:fromYDelta="0%"
android:toXDelta="-20%"
android:toYDelta="0%" />
</set>
slide_back_right_out
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="0%"
android:fromYDelta="0%"
android:toXDelta="100%"
android:toYDelta="0%" />
</set>