我正在构建一个 android 应用程序,我希望能够从一个活动到另一个活动进行自定义转换。当我在第一个活动上按下一个按钮时,我希望它减小它的大小并转到屏幕的一个角落,直到它消失,然后调用第二个活动。当然,在第一个activity调整大小和移动的过程中,第二个activity会开始出现(我想说的是,这段时间,我不希望下面出现黑屏)。有人有这种东西的经验吗?我还想指出,我正在为 API 3.0+ 构建我的应用程序,因此可以使用更新的函数和方法。谢谢!
问问题
6067 次
1 回答
14
您应该能够为此使用简单的缩放动画。在第二个活动中,您可以执行以下操作:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
overridePendingTransition(R.anim.scale_from_corner, R.anim.scale_to_corner);
}
对于动画,它将是:
scale_to_corner.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:fromYScale="1.0" android:toYScale="0"
android:fromXScale="1.0" android:toXScale="0"
android:duration="500"/>
</set>
和 scale_from_corner.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:fromYScale="0" android:toYScale="1.0"
android:fromXScale="0" android:toXScale="1.0"
android:duration="500" android:pivotX="100%"
android:pivotY="100%" />
</set>
这将使您的第一个活动缩小到左上角,而您的第二个活动从右下角增长。如果你想改变它们增长或收缩到的点,你可以改变 pivotX 和 pivotY。
于 2012-06-28T19:47:07.777 回答