我的第一个Activity中有一个ListView。当我点击里面的一个项目时,我开始另一个活动。好的。但现在我想修改这两个活动之间的转换:
更新
我根据自己的要求找到了解决方案:
活动1 - >活动2
startActivity();
overridePendingTransition(R.anim.from_bottom_to_top, 0);
from_botton_to_top.xml
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:fromYDelta="100%p" android:toYDelta="0%p"
android:duration="@android:integer/config_shortAnimTime"/>
活动2 - &gt; Activity1(反向键)
finish();
overridePendingTransition(0, R.anim.from_top_to_bottom);
from_top_to_bottom.xml
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYDelta="0%p" android:toYDelta="100%p"
android:duration="@android:integer/config_shortAnimTime"/>
答案 0 :(得分:1)
使用overridePendingTransition
更改活动动画。
对于第一种情况,您可以使用:
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.abc_slide_in_bottom, R.anim.abc_slide_out_top);
对于第二种情况,请选择其他动画并致电overridePendingTransition
在onBackPressed
或finish
之后。应在活动结束后立即调用overridePendingTransition
。
如果您正在寻找动画,请查看Google API示例。 https://android.googlesource.com/platform/development/+/master/samples/ApiDemos/res/anim/ 有很多简单实用的动画xml。
但有些年以来,abc_slide_in_bottom
和abc_slide_in_bottom
位于Google appcompat lib中。 abc_slide_out_bottom
和abc_slide_in_top
也是。
答案 1 :(得分:0)
您需要使用anim
。首先创建两个xml文件并将它们放在res/anim
from_bottom_to_top.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="100%p"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>
from_top_to_bottom.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:toYDelta="100%p"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>
然后,当你开始你的活动(使用startActivity)之后,立即调用overridePendingTransition(int enterAnim,int exitAnim)。
完成ActivityB(调用完成后和在overridePendingTransation之后)可以实现相同的功能。
你可以玩动画并创建你的动画/调整它们。