如何在android中放大和缩小动画?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (12)

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

提问于
用户回答回答于

我认为你必须 :

  • 设置“in”和“out”动画
  • 创建文件夹res / anim
  • 将动画描述放入res / anim文件夹中 object.setInAnimation(AnimationUtils.loadAnimation(this,R.anim.zoom_enter)); object.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.zoom_exit));

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

或者参考这个使用基于比例缩放的比以前更容易的缩放:

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

用户回答回答于

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

startActivity(intent);
overridePendingTransition(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
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXScale="1"
    android:fromYScale="1"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="3"
    android:toYScale="3" >
    </scale>
 </set>

zoom_out.xml:

 <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" >
    <scale
    xmlns:android="http://schemas.android.com/apk/res/android"
    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" >
    </scale>
 </set>

扫码关注云+社区