前言:
这里我们使用scale标签进行实现,scale是Android的尺寸缩放动画,继承自基类Animation
一、首先在res目录上,右键new 选择Android Resource File 之后进行如下操作
创建布局anim_small.xml文件:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="false"> <!-- Scale是Android的尺寸缩放动画,继承自基类Animation --> <scale android:duration="150" android:fromXScale="1" android:fromYScale="1" android:pivotX="50%" android:pivotY="50%" android:toXScale="0.8" android:toYScale="0.8" /> <scale android:duration="150" android:fromXScale="1" android:fromYScale="1" android:pivotX="50%" android:pivotY="50%" android:startOffset="150" android:toXScale="1.2" android:toYScale="1.2" /> </set>
分析scale标签中的具体属性:
- android:duration=“150” 动画持续时间,毫秒为单位
- android:fromXScale=“1” 起始x尺寸比例
- android:fromYScale=“1” 起始y尺寸比例
- android:pivotX=“50%”
缩放起点x轴坐标,取值可以是数值(50)、百分数(50%)、百
分数p(50%p),当取值为数值时,缩放起点为View左上角坐标
加具体数值像素,当取值为百分数时,表示在当前View左上角坐标
加上View宽度的具体百分比,当取值为百分数p时,表示在View
左上角坐标加上父控件宽度的具体百分比 - android:pivotY=“50%” 同上
- android:startOffset=“150” 设置动画执行之前等待的时间
- android:toXScale=“0.8” 最终x尺寸比例
- android:toYScale=“0.8” 最终y尺寸比例
- android:fillAfter="false"动画结束时,停留在第一帧 换句话说 就是恢复原来的初始效果。
之后我们就可以在想要设置的布局或指定的控件中进行设置了,这里我以设置按钮为例:点击按钮 按钮会先变小 后恢复原样
只需两行代码就可以搞定
@SuppressLint("ResourceType") Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.anim_small); btn_commit.startAnimation(animation);