Android自定义控件——02视图动画

本文详细介绍了Android视图动画的各个方面,包括scale、alpha、rotate、translate和set等标签的使用,以及视图动画的代码实现,如ScaleAnimation、AlphaAnimation等。同时,还探讨了差值器的概念及其在动画变化速率中的作用,并阐述了逐帧动画的XML实现和代码操作方法。
摘要由CSDN通过智能技术生成

2.视图动画

2.1 视图动画标签

2.1.1 概述

  • Android 的视图动画由5种类型组成:

    • alpha:渐变透明度动画效果。
    • scale:渐变尺寸伸缩动画效果。
    • translate:画面变换位置移动动画效果。
    • rotate:画面转移旋转动画效果。
    • set:定义动画集。
  • 举例:

    • scale标签定义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:duration="700"/>
      
    • 存放位置:res/anim;访问方式:R.anim.XXX

    • 也可以存放在:res/drawable;访问方式:R.drawable.XXX

2.1.2 scale标签

  • fomXScale:动画起始时,控件在X轴方向上相对自身的缩放比例,浮点值。
  • toXScale:动画结束时,控件在X 轴方向上相对自身的缩放比例,浮点值。
  • fomYScale:动画起始时,控件在Y 轴方向上相对自身的缩放比例,浮点值。
  • toYScale : 动画结束时,控件在Y 轴方向上相对自身的缩放比例,浮点值。
  • pivotX:缩放起始点X轴坐标,可以是数值百分数百分数p三种样式。
  • pivotY:缩放起始点Y 轴坐标。

2.1.3 Animation继承属性

  • duration :用于设置完成一次动画的持续时间,以毫秒为单位。
  • fillAfter:如果设置为true,则控件动画结束时,将保持动画结束时的状态。
  • fillBefore:如果设置为true,则控件动画结束时,将还原到初始化状态。
  • fillEnable:与fillBefore效果相同。
  • repeatCount:用于指定动画的重复次数,当取值为infinite时,表示无限循环。
  • repeatMode :用于设定重复的类型,有reverse 和restart 两个值。需与repeatCount一起使用。
  • interpolator:用于设定插值器,其实就是指定的动画效果,比如弹跳效果等。

2.1.4 alpha 标签

  • fomAlpha:动画开始时的透明度,取值范围为0.0~1 .0,0.0表示全透明,1.0表示完全不透明。
  • toAlpha:动画结束时的透明度,取值范围为0.0~ 1.0,0.0表示全透明,1.0表示完全不透明。

2.1.5 rotate 标签

  • fromDegrees :动画开始旋转时的角度位置,正值代表顺时针方向的度数,负值代表逆时针方向的度数。
  • toDegrees :动画结束时旋转到的角度位置,正值代表顺时针方向的度数,负值代表逆时针方向的度数。
  • pivotX: 旋转中心点X轴坐标,默认旋转中心点是控件坐标原点。可以是数值百分数百分数p 三种样式。
  • pivotY: 旋转中心点Y轴坐标。

2.1.6 translate 标签

  • fromXDelta:起始点X轴坐标,可以是数值百分数百分数p三种样式。
  • fromYDelta:起始点Y轴坐标。
  • toXDelta:终点X轴坐标。
  • toYDelta:终点Y轴坐标。

2.1.7 set 标签

  • set标签是一个容器类标签,用于定义动画集。
  • 注意:在set标签中设置repeateCount属性是无效的,必须对每个动画单独设直才有作用。

2.2 视图动画的代码实现

2.2.1 概述

  • 标签与所对应的类如下表所示:
标签
scale ScaleAnimation
alpha AlphaAnimation
rotate RotateAnimation
translate TranslateAnimation
set AnimationSet
  • Animation类里的标签属性与方法的对应关系:
标签属性 方法
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值