Android中res下anim和animator文件夹区别与总结

1、anim文件夹

anim文件夹下存放tween animation(补间动画)和frame animation(逐帧动画)

逐帧动画:

    ①在animation-list中使用item定义动画的全部帧,并指定各帧的持续时间

    ②将xml文件作为View控件的背景

    ③AnimationDrawable animationDrawable = (AnimationDrawable)View.getDrawable()

    ④animationDrawable.start().

补间动画:

    ①xml文件里只有sacle(缩放效果)、rotate(旋转效果)、translate(移动效果)、alpha(淡入淡出效果)、set五个标签

    ②在代码中使用AnimationUtils.loadAnimation()方法加载动画

    ③使用View.setAnimation(Animation)为View控件加载动画,使用View.startAnimation()开启动画

    ④通用属性:

        a.android:duration:设置动画持续时间

        b.android:fillAfter:如果fillAfter为true,则动画执行后,控件将停留在动画结束的状态

        c.android:fillBefore:如果fillBefore为true,则动画执行后,控件将回到动画开始的状态

        d.android:startOffset(long startOffset):设置动画执行前等待的时间(单位:毫秒)

        e.android:interpolator:设置动画的变化速度

2、animator文件夹

①animator文件夹下存放property animation(属性动画)

②xml文件里有animator、objectAnimator、set三个标签

③在代码中使用AnimatorInflater.loadAnimator()方法加载动画

④使用Animator.setTarget(View)为View控件加载动画,使用Animator.start()开启动画

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 Layer-List 和 Rotate Animation 来实现这个效果。 1. 首先,在 res/drawable 目录下新建一个 xml 文件,例如 ring.xml,用来定义圆环的形状和颜色。代码如下: ``` <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:innerRadius="30dp" android:thickness="10dp" android:shape="ring" android:useLevel="false"> <solid android:color="@android:color/transparent" /> <stroke android:width="5dp" android:color="@android:color/holo_blue_light" /> </shape> </item> </layer-list> ``` 2. 接着,在 res/anim 目录下新建一个 xml 文件,例如 rotate.xml,用来定义圆环的旋转动画。代码如下: ``` <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:fromDegrees="0" android:toDegrees="45" android:pivotX="50%" android:pivotY="50%" /> ``` 3. 最后,在布局文件添加一个 ImageView,并将上述两个文件作为其 background 和 animation 属性。代码如下: ``` <ImageView android:id="@+id/ring" android:layout_width="100dp" android:layout_height="100dp" android:background="@drawable/ring" android:layout_centerInParent="true" android:clickable="true" android:onClick="rotate" /> ``` 其,rotate 是一个在 Activity 定义的方法,用来触发动画。代码如下: ``` public void rotate(View view) { ImageView ring = (ImageView) view; Animation anim = AnimationUtils.loadAnimation(this, R.anim.rotate); ring.startAnimation(anim); } ``` 现在,点击圆环就可以看到它顺时针旋转45度的动画效果了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值