Android动画----Scale

本文详细介绍了Android中的Scale动画,它是尺寸缩放动画的一种,从Scale的属性到XML及代码实现方式进行讲解,并展示了相应的动画效果。通过学习,可以掌握如何在Android应用中添加和使用Scale动画。

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

  • 引言
      
      要做一款让用户喜欢的APP,适当的动画元素是必不可少的,因此接下来的要学习和记录一系列Android动画相关的知识,梳理一下一些比较含糊的知识点。

  • Scale动画
      
      Scale是Android的尺寸缩放动画,继承自基类Animation
      

  • Scale的属性

      直接参照代码中的注释(ps:方便说明,直接使用#作为注释符)
      

<?xml version="1.0" encoding="utf-8"?>  
<scale xmlns:android="http://schemas.android.com/apk/res/android"  
    android:fromXScale="0.0"           #起始x尺寸比例  
    android:toXScale="1.4"             #最终x尺寸比例
    android:fromYScale="0.0"           #起始y尺寸比例
    android:toYScale="1.4"             #最终y尺寸比例
    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" #插值器,后面单独讲             
    />
  • Scale xml使用方式
      
      xml的使用方式是比较普遍的,我们举例说明这种使用方式。
      第一步,在res目录下新建anim文件夹,然后在anim文件夹中新建scale.xml文件(名称随意),目录结构如下图所示:
      这里写图片描述
      第二步,根据需求,编写xml的内容,举例如下:
      
<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXScale="0.0"
    android:toXScale="1.4"
    android:fromYScale="0.0"
    android:toYScale="1.4"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration="1000"
    android:repeatCount="4"
    android:repeatMode="reverse"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    />

  第三步,代码中实例化Scale动画,具体代码如下:
  

private Animation scaleAnimation;
……
scaleAnimation = AnimationUtils.loadAnimation(AnimDemoActivity.this,R.anim.scale);

  第四部,执行动画,具体代码如下:
  

view.startAnimation(scaleAnimation);
  • Scale 代码使用方式

      第一步,创建Scale动画实例
      

private ScaleAnimation mScaleAnimation;
……
mScaleAnimation = new ScaleAnimation(0,1,0,1);

  第二步,设置相关属性
  

mScaleAnimation.setDuration(2000);
mScaleAnimation.setRepeatCount(4);
mScaleAnimation.setRepeatMode(Animation.REVERSE);

  第三步,执行动画
  

view.startAnimation(mScaleAnimation);
  • Scale动画效果
      基于xml的动画效果如下展示
    这里写图片描述
  • 结尾

      关于Scale的动画就先整理到这里,欢迎大家交流讨论,Demo源码大家可以在点击这里下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值