在android中放大和缩小动画

jag*_*ish 22 android android-intent android-animation android-layout

我有通常放大和缩小两个活动之间动画的代码,但我想要一些不同的东西.如果我点击第一个按钮然后放大将从第一个按钮的位置开始而不是从中心缩放,我的第一个活动上有五个按钮.请帮我.

编辑:缩放应从我单击作为中心的按钮开始.

kab*_*178 37

运行命令后可以使用此方法来启动新活动,

startActivity(intent);
overridePendingTransition(animation_in_goes_here,animation_out_goes_here);
Run Code Online (Sandbox Code Playgroud)

然后,您可以替换上面的动画,替换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>
Run Code Online (Sandbox Code Playgroud)

zoom_out.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>
Run Code Online (Sandbox Code Playgroud)

希望这有助于回答你的问题.


Yas*_*nan 2

我认为你必须这样做

  • 设置“入”和“出”动画
  • 创建文件夹 res/anim
  • 将动画描述放入res/anim文件夹中

    object.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.zoom_enter)); object.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.zoom_exit));

您可以使用 google 在 Apache 2.0 许可下提供的 android sdk 示例动画

或者参考这个,它使用基于缩放的缩放,这比前者更容易

http://developer.android.com/training/animation/zoom.html