Android 实现布局的缩小和再放大动画(使用scale动画效果进行实现)

博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,
点击跳转到网站

前言:

这里我们使用scale标签进行实现,scale是Android的尺寸缩放动画,继承自基类Animation

一、首先在res目录上,右键new 选择Android Resource File 之后进行如下操作
Android 实现布局的缩小和再放大动画(使用scale动画效果进行实现)_第1张图片

创建布局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标签中的具体属性:

  1. android:duration=“150” 动画持续时间,毫秒为单位
  2. android:fromXScale=“1” 起始x尺寸比例
  3. android:fromYScale=“1” 起始y尺寸比例
  4. android:pivotX=“50%”
    缩放起点x轴坐标,取值可以是数值(50)、百分数(50%)、百
    分数p(50%p),当取值为数值时,缩放起点为View左上角坐标
    加具体数值像素,当取值为百分数时,表示在当前View左上角坐标
    加上View宽度的具体百分比,当取值为百分数p时,表示在View
    左上角坐标加上父控件宽度的具体百分比
  5. android:pivotY=“50%” 同上
  6. android:startOffset=“150” 设置动画执行之前等待的时间
  7. android:toXScale=“0.8” 最终x尺寸比例
  8. android:toYScale=“0.8” 最终y尺寸比例
  9. android:fillAfter="false"动画结束时,停留在第一帧 换句话说 就是恢复原来的初始效果。

Android 实现布局的缩小和再放大动画(使用scale动画效果进行实现)_第2张图片

之后我们就可以在想要设置的布局或指定的控件中进行设置了,这里我以设置按钮为例:点击按钮 按钮会先变小 后恢复原样
只需两行代码就可以搞定

@SuppressLint("ResourceType") 
Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.anim_small);
btn_commit.startAnimation(animation);

你可能感兴趣的:(Android基础笔记,android,动画,scale,渐变尺寸伸缩动画效果,Animation)