我有一段通常的两个活动之间缩放动画的代码,但我想要不同的效果。在第一个活动中,我有五个按钮,如果我点击第一个按钮,则缩放应该从第一个按钮的位置开始而不是从中心缩放。请帮帮我。
编辑:缩放应该从我点击的按钮开始作为中心。
我有一段通常的两个活动之间缩放动画的代码,但我想要不同的效果。在第一个活动中,我有五个按钮,如果我点击第一个按钮,则缩放应该从第一个按钮的位置开始而不是从中心缩放。请帮帮我。
编辑:缩放应该从我点击的按钮开始作为中心。
在启动新活动的命令后,您可以使用此方法。
startActivity(intent);
overridePendingTransition(animation_in_goes_here,animation_out_goes_here);
然后,您可以替换上面的动画,将animation_in_goes_here
替换为您需要的新启动活动的动画资源,并将animation_out_goes_here
替换为您离开的活动的动画资源。这将为您提供切换效果。
zoom_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true">
<scale
android:duration="1000"
android:fromXScale="1"
android:fromYScale="1"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="3"
android:toYScale="3"/>
</set>
缩小.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true">
<scale
android:duration="1000"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.5"
android:toYScale="0.5"/>
</set>
希望这能帮助解答您的问题。
放大
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromXScale="0"
android:fromYScale="0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.5"
android:toYScale="0.5">
</scale>
Zoom Out
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromXScale="2.1"
android:fromYScale="2.1"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="3000"
android:toXScale="0"
android:toYScale="0">
</scale>
将动画描述放入res/anim文件夹中
object.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.zoom_enter));
object.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.zoom_exit));