本方案的activity的滑进和滑出,需要在代码目录 res 下,新建 anim 目录(已有的请略过),下面的xml格式的滑动代码都在这个目录下
一、跳入activity做动画
/**
* 高级搜索
*/
public static void toAdvancedSearchActivity(Activity activity, int whereFromToHere, int requestCode) {
Intent toSearch = new Intent(activity, AdvancedSearchActivity.class);
toSearch.putExtra(Constant.FROM_WHERE_TO_ADVANCED_SEARCH, whereFromToHere);
activity.startActivityForResult(toSearch, requestCode);
activity.overridePendingTransition(R.anim.activity_translate_in, R.anim.activity_right_out);
}
上面是java代码,下面贴出对应的滑动xml代码
activity_translate_in.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="100%p"
android:toXDelta="0"
android:duration="500"
/>
</set>
activity_right_out.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="-100%p"
android:duration="1000"
/>
</set>
二、跳出activity做动画
/**
* 监听Back键按下事件
* super.onBackPressed()会自动调用finish()方法,关闭当前Activity.
* finish这个界面的时候,做动画处理
*/
@Override
public void onBackPressed() {
finish();
overridePendingTransition(R.anim.activity_right_in, R.anim.activity_translate_out);
}
上面是java代码,下面贴出对应的滑动xml代码
activity_right_in.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="-50%p"
android:toXDelta="0"
android:duration="500"
/>
</set>
activity_translate_out.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!-- android:fromYDelta="100%p"
android:toYDelta="0"-->
<translate
android:fromXDelta="0"
android:toXDelta="100%p"
android:duration="500"
/>
</set>