Android动画----Rotate

本文详细介绍了Android中的Rotate动画,包括其继承自Animation的特点,解析了关键属性,并提供了XML与代码两种实现方式的步骤及示例。通过示例代码展示了如何创建、设置属性并执行 Rotate 动画,最后给出了动画的实际运行效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 引言

      学习了Scale、Aplha,接下来趁热打铁,这篇就学习Rotate动画吧
      

  • Rotate动画

      旋转动画,继承自基类Animaton
      

  • Rotate属性

      老规矩吧,直接代码里注释

<?xml version="1.0" encoding="utf-8"?>
 <rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"            #初始角度
    android:toDegrees="540"            #结束时角度,值为正时顺时针旋转,值为负时逆时针旋转
    android:pivotX="50%"               #旋转中心x轴坐标,取值可以是数值(50)、百分数(50%)、百
                                        分数p(50%p),当取值为数值时,缩放起点为View左上角坐标
                                        加具体数值像素,当取值为百分数时,表示在当前View左上角坐
                                        加上View宽度的具体百分比,当取值为百分数p时,表示在View
                                        左上角坐标加上父控件宽度的具体百分比
    android:pivotY="50%"               #同上

    android:duration="700"             #动画持续时间,毫秒为单位
    android:fillAfter="true"           #动画结束后,保持结束时的状态
    android:fillBefore="true"          #动画结束后,恢复为初始状态
    android:fillEnabled="true"         #效果同上
    android:repeatCount="5"            #重复次数,取值为-1时无限重复,默认动画执行一次
    android:repeatMode ="reverse"      #重复模式,有reverse和restart两个值,前者为倒序回放,后者为重新开始
    android:interpolator="@android:anim/accelerate_decelerate_interpolator" #插值器,后面单独讲             
    />
  • Rotate xml使用方式

      xml的使用方式是比较普遍的,而且代码复用性也比较好,推荐使用,使用步骤基本如下:
      第一步,res目录下新建anim文件夹,在anim目录下新建rotate.xml文件(名字随意),目录结构如下:
      这里写图片描述
      第二步,编写rotate.xml的内容,示例如下

<?xml version="1.0" encoding="utf-8"?>
 <rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:toDegrees="540"
    android:duration="2000"
    android:fillBefore="true"
    android:repeatCount="4"
    android:repeatMode="reverse"
    android:interpolator="@android:anim/cycle_interpolator"
    />

  第三步,实例化Rotate动画,代码如下:
  

 private Animation rotateAnimation;
 ……
 rotateAnimation = AnimationUtils.loadAnimation(AnimDemoActivity.this,R.anim.rotate);

  第四部,执行动画
  

view.startAnimation(rotateAnimation);
  • Rotate 代码使用方式

     第一步,创建Rotate动画实例,代码如下:
     

private RotateAnimation mRotateAnimation;
……
mRotateAnimation = new RotateAnimation(0,90,0.5f,0.5f);

  第二步,设置动画相关属性
  

mRotateAnimation.setDuration(2000);
mRotateAnimation.setRepeatCount(4);
mRotateAnimation.setRepeatMode(Animation.REVERSE);
mRotateAnimation.setInterpolator(this,android.R.anim.accelerate_interpolator);

  第三步,执行动画
  

view.startAnimation(mRotateAnimation);
  • 动画效果
      
      动画效果基于xml方式实现,效果如下:
      这里写图片描述
      
  • 结尾

      关于Rotate动画的简单介绍,本篇博客就介绍到这里,欢迎大家指正。Demo下载点击这里

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值