android初识属性动画---alpha、scale、translate、rotate、set的xml属性及用法。

本文内容概述(知识点+2个小Demo)

1.简介

Android的animation由四种类型组成:alpha、scale、translate、rotate,

alpha:渐变透明度动画效果

scale:渐变尺寸伸缩动画效果

translate:画面转换位置移动动画效果

rotate:画面转移旋转动画效果

动作定义文件应该先在res下创建一个专门存放动画的文件夹,程序访问时采用R.anim.XXX.xml的方式

2、从Animation类继承的属性

android:duration 动画持续时间,以毫秒为单位

android:fillAfter 如果设置为true,控件动画结束时,将保持动画最后时的状态

android:fillBefore 如果设置为true,控件动画结束时,还原到开始动画前的状态

android:repeatCount 重复次数 这里0表示展示一次,1表示展示两次,若要无限展示可以写 android:repeatCount="infinite"

android:repeatMode 重复类型,有reverse和restart两个值,reverse表示倒序回放,restart表示重新放一遍,必须与repeatCount一起使用才能看到效果。因为这里的意义是重复的类型,即回放时的动作。

android:interpolator 设定插值器,其实就是指定的动作效果,比如弹跳效果等。

一、scale标签——调节尺寸

scale标签是缩放动画,可以实现动态调控件尺寸的效果,有下面几个属性:

android:fromXScale 起始的X方向上相对自身的缩放比例,浮点值,比如1.0代表自身无变化,0.5代表起始时缩小一倍,2.0代表放大一倍;

android:toXScale 结尾的X方向上相对自身的缩放比例,浮点值;

android:fromYScale 起始的Y方向上相对自身的缩放比例,浮点值,

android:toYScale 结尾的Y方向上相对自身的缩放比例,浮点值;

android:pivotX 缩放起点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,当为数值时,表示在当前View的左上角,即原点处加上50px,做为起始缩放点;如果是50%,表示在当前控件的左上角加上自己宽度的50%做为起始点;如果是50%p,那么就是表示在当前的左上角加上父控件宽度的50%做为起始点x轴坐标。

这里主要说下pivotx和pivoty,个人理解就是本身默认缩放起点是左上角,而这个属性就是改变这个点的。如果不设置这个属性,动画默认从左上角开始缩放,若设置了pivotX="50%",则缩放起始位置从左上角向右偏移个50px,类似于水平中心缩放了。android:pivotY 缩放起点Y轴坐标,取值及意义跟android:pivotX一样。

二、alpha标签——调节透明度

android:fromAlpha 动画开始的透明度,从0.0 --1.0 ,0.0表示全透明,1.0表示完全不透明

android:toAlpha 动画结束时的透明度,也是从0.0 --1.0 ,0.0表示全透明,1.0表示完全不透明

三、rotate标签——旋转

android:fromDegrees 开始旋转的角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数

android:toDegrees 结束时旋转到的角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数

android:pivotX 缩放起点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,具体意义已在scale标签中讲述,这里就不再重讲

android:pivotY 缩放起点Y轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p

四、translate标签 —— 平移

android:fromXDelta 起始点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,具体意义已在scale标签中讲述,这里就不再重讲

android:fromYDelta 起始点Y轴从标,可以是数值、百分数、百分数p 三种样式;

android:toXDelta 结束点X轴坐标

android:toYDelta 结束点Y轴坐标

还有set标签,set标签自已是没有属性的,他的属性都是从Animation继承而来,但当它们用于Set标签时,就会对Set标签下的所有子控件都产生作用。其实就是动画集合。

设置动画代码(重点)

alpaAnimation = AnimationUtils.loadAnimation(this, R.anim.alphaanim);

image_view.startAnimation(alpaAnimation);

1.心跳动Demo(动画以XML方式实现)

在res下创建anim文件夹,再new一个资源文件写动画

size.xml代码截图

主界面代码:

MainActivity.java代码截图

布局代码:

activity_main.xml代码截图

运行效果(点击爱心):

图片发自简书App

2.四种Tween动画效果实践Demo(动画以Java代码实现)

根据这5个步骤来实现动画:

Animations的五个步骤

主界面代码:

1

2

这就是动画实现的步骤:

3

4

5

界面代码差不多就以上这些了,布局代码我就省略掉了,UI看自己心情设计...

小Tips:如果要让按钮效果更加具有交互性,可以这样写,就有了按钮按下和没按下的区别了

按钮按下及没按下的显示效果

运行截图:

Animation动画实现

写在最后,我是安卓萌新,如果有错误请告知,我及时改正~

android动画特效,安卓——之Animation动画特效相关推荐

  1. android动画介绍之 自定义Animation动画实现qq抖一抖效果

    昨天我们介绍了Animation的基本用法.小伙伴们了解的怎么样了?如果还没有了解过Animation的小伙伴可以看看这篇博客 android动画介绍--Animation 实现loading动画效果 ...

  2. android过渡动画软件,安卓P过渡动画下载-安卓P过渡动画 v1.0_手机乐园

    软件简介 安卓P过渡动画是一款xp模块,免费的而且安装包也是超级的小,操作起来比较方便,可以从Android P-jfy中进行模块的分离,通过进行定义每一个关键帧的元素属性值进行复杂动画效果的轻松实现 ...

  3. css动画定义,CSS3中Animation动画的定义和调用

    现在经常会看到一些门户网站的专题使用到CSS3的动画,咋也不能落伍,在此这梳理下动画知识吧,便于后面用到.接下来介绍下Animation动画的定义和调用,在介绍Animation之前需要了解下Keyf ...

  4. 微信小程序动画效果,小程序animation动画

    微信小程序动画效果 最近一直在做小程序开发,在官方文档中无意间看到过渡动画效果,我就有点小激动,用每一个开发框架的时候我都最先研究动画和过渡 闲来无事写了一个小demo <!--wxml代码-- ...

  5. Animation动画概述和执行原理

    动画入门和进阶文章列表: Animation动画概述和执行原理 Android动画之补间动画TweenAnimation Android动画之逐帧动画FrameAnimation Android动画之 ...

  6. bootanimation文件名_如何自己制作安卓手机开机动画打造你的个性

    很多小白同学都喜欢对手机的界面要求十分的严格而且苛刻,比如使用现下流行的安卓手机的童鞋们除了用对手机本身界面做一些的基础的修改还并不能满足,就连字体.开机动画等一并看着不顺眼的地方都有改掉的冲动.当然 ...

  7. css动画放大延迟,css3延时动画

    不太理解属性都是什么意思,但是有动画效果,我也是惊呆了 #animated_div{animation:animated_div 4s 1; -moz-animation:animated_div 4 ...

  8. Android Animation动画详解(二): 组合动画特效

    前言 上一篇博客Android Animation动画详解(一): 补间动画 我已经为大家介绍了Android补间动画的四种形式,相信读过该博客的兄弟们一起都了解了.如果你还不了解,那点链接过去研读一 ...

  9. Android Animation动画特效

    Android应用中各式各样的交互界面能体现一个Android应用独特的设计理念,为应用增色不少.为了要实现这些效果就需要用到Android中关于动画的API,Android中的动画效果主要分为逐帧动 ...

  10. Android动画特效之Animator属性动画实现

    Android动画特效之自定义view: Android动画特效之自定义view_Angel-杭州的博客-CSDN博客_android view 设置动画 由于上期Android动画特效之自定义Vie ...

最新文章

  1. javaScript小问题,托拽元素,获得当前鼠标的坐标
  2. 2017年中国自动驾驶最全产业研究报告 99页
  3. 以完美主义的名义,拖延症在公开掠夺
  4. exfat linux 读写速度,Ubuntu / Xubuntu : 读写 exFAT 文件系统
  5. linux部署项目文档,Linux上部署综合项目专业资料.doc
  6. 会议 | 2019 全国知识图谱与语义大会 (CCKS 2019)
  7. 鬼才!用Python计算圆周率 π
  8. idea数据库反向生成实体类_asp.net core 系列 21 EF现有数据库进行反向工程
  9. 如何自己编写Makefile(高级篇)
  10. Android框架之EventBus的简单使用
  11. matlab状态反馈控制器设计,H无穷的状态反馈控制器设计
  12. 网页打开html无法编辑,电脑浏览器网页无法输入文字该怎么办?
  13. 黑鲨重装计算机安装无法继续,黑鲨装机大师一键重装系统失败怎么办
  14. 电力需求侧管理及智能电力监控技术在电子设备制造行业错峰限电中的应用
  15. 06-CSS盒模型详解
  16. 基于Python实现的黑白棋强化学习模型
  17. 零基础也能看懂的五大网络安全技术,学网络安全真的可以很简单
  18. WPF学习之X名称空间详解
  19. PHP现代濒危动物毕业论文,保护濒危动物(论文).doc
  20. 十大排序算法入门(JAVA版)

热门文章

  1. 屏幕录像软件camtasia2022汉化版好用的录屏软件
  2. 【Python】Tkinter教程
  3. 计算机英语听力速记...,2018计算机考研英语听力速记技巧才是王道
  4. bex5 mysql_bex5 库存系统的增删改查等功能对MYSQL数据库的维护操作 Windows Develop 276万源代码下载- www.pudn.com...
  5. vue插件大全汇总,你要的都这里,赶紧收藏下!
  6. 正则判断手机号地区_匹配中国大陆所有手机号正则表达式
  7. Python中 实现过采样和下采样
  8. nvme固件升级 linux,Intel NVME SSD 固件升级步骤
  9. MathType工具栏在word里无法点击
  10. iphone开发每日一练【2011-10-06】