Android中从一个活动切换到另一个活动时的动画过渡

5

我需要在Android中从一个活动切换到另一个活动时进行动画转换。转换效果类似于滑动选项卡。


搜索谷歌。这是一个过时的问题。 - IntelliJ Amiya
1
我在动画方面有足够的知识。 - Santhosh Kumar S
@Madhur,没有动画文件。 - Santhosh Kumar S
你需要创建它 - Madhur
请参考这个答案 https://dev59.com/oW435IYBdhLWcg3w4Uas - Kailash Chavda
显示剩余2条评论
2个回答

3
步骤1:在资源anim目录中创建动画文件。 pull_in_left.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="300"
    android:fromXDelta="-100%"
    android:toXDelta="0%"
    android:interpolator="@android:anim/decelerate_interpolator"
     />

pull_in_right.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="300"
    android:fromXDelta="100%"
    android:toXDelta="0%"
    android:interpolator="@android:anim/decelerate_interpolator"
     />

push_out_left.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="300"
    android:fromXDelta="0%"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:toXDelta="-100%" />

push_out_right.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="300"
    android:fromXDelta="0%"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:toXDelta="100%" />

步骤二:在活动中实现动画效果。
Intent intent = new Intent(mContext, NextActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.pull_in_left, R.anim.push_out_right);

谢谢,我已经得到了答案,但你的回答也对我未来的工作有所帮助。谢谢。 - Santhosh Kumar S

1
这可能会对你有所帮助。
overridePendingTransition(R.anim.pull_in_from_left, R.anim.hold);

pull_in_from_left的动画文件

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromXDelta="-100%"
android:interpolator="@android:anim/accelerate_interpolator"
android:toXDelta="0%" /> 

你可以修改fromXDeltatoXDelta的值来改变方向。

我应该把overridePendingTransition放在哪里? - Santhosh Kumar S
在setContentView之前 - Gopal
感谢您的帮助。它已经起作用了。 - Santhosh Kumar S

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接