Android补间动画之缩放动画

缩放动画(ScaleAnimation)简介

以控件的中心点为中心做缩小或放大的动作,缩放动画可以实现view有小到大或者由大到小的缩放效果。

缩放动画属性

缩放动画使用scale标签标示,主要有一下几个属性 

属性描述
fromXScale初始x轴缩放比例
toXScale结束x轴缩放比例,大于1表示放大,小于1表示缩小
fromYScale初始y轴缩放比例
toYScale结束y轴缩放比例,大于1表示放大,小于1表示缩小
pivotX缩放起点x轴坐标
pivotY缩放启动y轴坐标

缩放动画的实现方式

缩放动画的实现分为xml方式和Java代码方式,接下来通过一个demo来讲解一下这两种方式。 

缩放动画demo

demo要实现的效果如下:一个红球,通过缩放动画放大至自身大小的1.5倍,循环执行四次。 

 

首先是xml方式实现,xml方式主要步骤有两步:

1.  创建scale.xml文件
<set xmlns:android="http://schemas.android.com/apk/res/android"
    >
<scale android:fromXScale="1"//缩放的起始x方向的大小,0 中心点 >0&<1 起始点为原  控件先缩小一定比例之后的大小  1 自身大小 >1 原控件先放大一定比例之后的大小
    android:fromYScale="1"//同fromXScale
    android:toXScale="1.5"//x方向缩放到原尺寸的倍数,小于1表示缩小,大于1表示放大,等于1表示没有缩放
    android:toYScale="1.5"//同上
    android:duration="2000"//动画执行时长,当repeatCount=0时为动画执行总时长,repeatCount>0时为每次执行动画的时长。
    android:fillAfter="true"//动画执行结束之后是否停留在最后一帧,默认false。
    android:fillBefore="false"//动画结束之后是否停留在第一帧,默认true。
    android:fillEnabled="false"//设置效果填充,控制fillbefore是否生效,默认false。
    android:repeatCount="4"//动画执行次数,偶数时fillAfter=true有效,奇数时无效
    android:repeatMode="reverse"//重复模式,restart 重新开始,reverse 倒序回放
    android:interpolator="@android:anim/linear_interpolator"/>//线性匀速运动插值器
</set>
2.  加载动画文件并执行动画 
Animation animation  = AnimationUtils.loadAnimation(this,R.anim.scale);//加载动画
imageView.startAnimation(animation);//执行动画

Java代码创建缩放动画,同样需要两个步骤: 

1. 创建缩放动画并设置属性
Animation animation = new ScaleAnimation(1.0f,1.5f,1.0f,1.5f);
animation.setDuration(2000);
animation.setRepeatMode(Animation.REVERSE);
animation.setRepeatCount(4);
animation.setFillAfter(true);
animation.setFillEnabled(true);
2. 执行动画
imageView.startAnimation(animation);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值