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

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

前言:

这里我们使用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标签中的具体属性:

  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"动画结束时,停留在第一帧 换句话说 就是恢复原来的初始效果。

在这里插入图片描述

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

@SuppressLint("ResourceType") 
Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.anim_small);
btn_commit.startAnimation(animation);
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值