我正在尝试通过以下方式Flip card
在我的应用程序中实现两个活动之间的过渡效果:http:
//blog.robert-heim.de/karriere/android-startactivity-rotate-3d-animation-activityswitcher/。
但我无法理解上述网站的内容ActivitySwitcher.java
和内容。Roatate3dAnimation.java
我的应用程序中有两个活动,我想在它们之间显示这种过渡效果。它们是MainActivity.java
和About_us.java
。
请参考我的活动解释代码。我还在http://developer.android.com/training/animation/cardflip.html上进行了搜索,但徒劳无功,因为它不适用于活动。谢谢!
问问题
14500 次
2 回答
25
免责声明:这不是真正的 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);
完毕!现在运行它!
于 2013-11-13T17:04:17.047 回答
2
根据 user1672053 的回答,您需要为资源添加一个开始偏移量,该偏移量from_middle.xml
等于to_middle.xml
动画资源的持续时间。
于 2014-02-19T19:01:23.110 回答