两个Android活动之间的翻转卡转换

时间:2013-11-13 16:20:06

标签: android

我正在尝试通过以下方面的帮助在我的应用中的两个活动之间实现Flip card过渡效果:  http://blog.robert-heim.de/karriere/android-startactivity-rotate-3d-animation-activityswitcher/
但我无法理解上述网站中ActivitySwitcher.javaRoatate3dAnimation.java的内容。我在我的应用程序中有两个活动,我想在其中显示这种过渡效果。它们是MainActivity.javaAbout_us.java
请参考我的活动解释代码。我也在http://developer.android.com/training/animation/cardflip.html上搜索,但是因为没有活动而徒劳无功。 谢谢!

2 个答案:

答案 0 :(得分:24)

免责声明:这不是一个真正的3D动画翻转。这只是模仿它,虽然有些人不同意。试一试,如果你喜欢,太棒了!如果你不这样做,我很抱歉。

在我学习编码的早期阶段,我在实现正确的3D动画翻转时遇到了问题,所以我选择了它,它模拟它足以满足我的需求,但是对于每个人/他自己。要做我做的事情,首先要确保您的项目的res文件夹下有一个名为anim的文件夹。然后你需要创建两个xml文件(我的名字叫做from_middle和to_middle)。以下是每个代码:

from_middle.xml:

<?xml version="1.0" encoding="utf-8"?>
<scale
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXScale="0.0" android:toXScale="1.0"
    android:pivotX="50%" 
    android:fromYScale="1.0" android:toYScale="1.0"
    android:pivotY="50%"         
    android:duration="500" />

to_middle.xml:

<?xml version="1.0" encoding="utf-8"?>
<scale
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXScale="1.0" android:toXScale="0.0"
    android:pivotX="50%" 
    android:fromYScale="1.0" android:toYScale="1.0"
    android:pivotY="50%"        
    android:duration="500" />

创建完成后,您只需要一行代码来运行此动画,您应该在开始下一个活动后放置这些代码:

overridePendingTransition(R.anim.from_middle, R.anim.to_middle);

完成!现在运行吧!

答案 1 :(得分:4)

根据user1672053的回答,您需要向from_middle.xml资源添加一个起始偏移量,该偏移量等于to_middle.xml动画资源的持续时间。