android 补间动画
android开发过程中,为了更好的展示应用程序,应用程序添加动画,能够很好地实现这个功能。如果动画中的图像变化有一定的规律,可以采用自动生成图像的方式来生成动画,例如图像的移动、旋转、缩放等。自动生成中间图像的动画,补间动画,只需指定第一帧和最后一帧。
补间动画的优点是节省硬盘空间,缺点是,无法生成复杂的动画。本文主要介绍经常用到的四种补间动画:移动、缩放、旋转、透明度。
1.移动补间动画
移动是比较常见的动画效果。通过xml文件或者java代码能够实现补间动画的移动效果。在res/anim,文件中新建test_translate.xml文件。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXDelta="0" android:toXDelta="320" android:fromYDelta="0" android:toYDelta="0" > </translate> </set>
test_translte
android:interpolator:表示动画渲染器。可以设置3个动画渲染器:accelerate_decelerate_interpolator(动画加速减速器),先加速,再减速;accelerate_interpolator(动画加速器),动画开始时比较慢,逐渐加速;decelerate_interpolator(动画减速器):动画开始时最快,逐渐减速。
android:fromXDelta:动画起点位置的横坐标;
android:fromYDelta:动画起点位置的纵坐标;
android:toXDelta:动画终点位置的横坐标;
android:toYDelta:动画终点位置的纵坐标。
android:duration:动画的持续时间,单位是毫秒。动画在指定的时间内,从起点移动到终点。
补间动画通过AnimationUtils.loadAnimation(this,int resid)来装载补间动画,setAnimation为控件绑定动画,animation.start(),启动动画,animation.setRepeatCount(Animation.INFINITE);循环显示动画。
补间动画的三个状态:动画开始、动画结束、动画循环。监听状态的接口AnimationListener,3个方法为:onAnimationStart、onAnimationEnd、onAnimationRepeat。
2.缩放补间动画
通过<scale>标签定义缩放补间动画。
<scale
android:interpolator="@android:anim/accelerate_interpolator"
android:fromXScale="1.0"
android:fromYScale="0.0"
android:toXScale="0.0"
android:toYScale="1.0"
android:duration="400"> </scale>
scale
该段代码实现数据从上往下的展开。
android:fromXScale:表示沿X轴缩放的起始比例。
android:fromYScale:表示沿Y轴缩放的起始比例。
android:toXScale:表示沿x轴缩放的结束比例
android:toYScale:表示沿y轴缩放的结束比例
android:pivotX:沿x轴缩放的支点位置
android:pivotY:沿y轴缩放的支点位置
3.旋转补间动画
通过<roate>标签可以定义旋转补间动画。
<rotate android:interpolator="@android:anim/accelerate_interpolator"
android:fromDegrees="0"
android:toDegrees="150"
android:pivotX="50%"
android:pivotY="50%"
android:duration="10000"
android:repeatMode="restart"
android:repeatCount="infinite"/>
roate
android:fromDegrees:旋转的起始角度。
android:toDegrees:旋转的结束角度
android:repeatCount:设置旋转的次数。该属性需要设置一个整数值,如果为0,则表示不循环。
android:repeatMode:设置重复的模式。restart,表示重新开始循环。reverse,表示偶数次显示动画会与动画文件定义的方向相反。
4.透明度补间动画
通过 <alpha />标签设置透明度补间动画。
<alpha android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.2" android:duration="2000"/>
alpha
android:fromAlpha:动画的起始透明度
android:toAlpha:动画结束的透明度
属性值在0.0-1.0之间,0.0为完全透明,1.0表示不透明。
android 还有一个振动动画渲染器 cycle_interpolator.
android 补间动画的更多相关文章
- android 补间动画和Animation
介绍: 补间动画是一种设定动画开始状态.结束状态,其中间的变化由系统计算补充.这也是他叫做补间动画的原因. 补间动画由Animation类来实现具体效果,包括平移(TranslateAnimation ...
- Android补间动画笔记
布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns: ...
- (原)android补间动画(四)之插补器Interpolator
比如说一段旋转动画 RotateAnimation animation = new RotateAnimation(0, 360, mMoveCircle.getMeasuredWidth() / 2 ...
- Android补间动画、帧动画和属性动画使用知识介绍
https://blog.csdn.net/zhangqunshuai/article/details/81098062
- Android动画效果之Tween Animation(补间动画)
前言: 最近公司项目下个版本迭代里面设计了很多动画效果,在以往的项目中开发中也会经常用到动画,所以在公司下个版本迭代开始之前,抽空总结一下Android动画.今天主要总结Tween Animation ...
- android 帧动画,补间动画,属性动画的简单总结
帧动画——FrameAnimation 将一系列图片有序播放,形成动画的效果.其本质是一个Drawable,是一系列图片的集合,本身可以当做一个图片一样使用 在Drawable文件夹下,创建ani ...
- Android开发之补间动画、XML方式定义补间动画
四种补间动画: 1.透明: 2.缩放: 3.位移: 4.旋转: //点击按钮 实现iv 透明的效果 动画 public void click1(View v) { //1.0意味着着完全不透明 0.0 ...
- Android 学习笔记多媒体技术之 Drawable类+Tween(补间动画)+Frame(帧动画)
学习内容: 1.了解Drawable类的作用 2.如何使用Drawable... 3.了解Tween动画... 4.如何创建和使用Tween动画... 1.Drawable类... Drawabl ...
- android 学习随笔二十五(动画:补间动画)
补间动画(TweenAnimation) * 原形态变成新形态时为了过渡变形过程,生成的动画就叫补间动画(为了让对象从初始状态向结束状态改变的过程更加自然而自动生成的动画效果)* 位移.旋转.缩放.透 ...
随机推荐
- TortoiseSVN和VisualSVN-下载地址
isualSVN的下载地址http://www.visualsvn.com/visualsvn/ 它可以以插件的形式嵌入到visual studio里面,让团队协作更轻松,最新的版本已经支持Visua ...
- Android开发实现透明通知栏
这个特性是andorid4.4支持的,最少要api19才可以使用,也就是说如果Android的机子是低于4.4,沉浸通知栏是没有效果的.下面介绍一下使用的方法,非常得简单. public void i ...
- 疯狂安卓Android自学笔记
开发者必备自学工具: 谷歌搜索:www.yundou.info Android原版开发文档 (英文) Doc http://www.phoned.cn/docs/reference/android/v ...
- UITextView(文本视图) 学习之初体验
UITextView文本视图相比与UITextField直观的区别就是UITextView可以输入多行文字并且可以滚动显示浏览全文.常见UITextView使用在APP的软件简介.内容详情显示.小说阅 ...
- 如何循序渐进有效学习 JavaScript?
著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:宋学彦链接:http://www.zhihu.com/question/19713563/answer/23068003来源: ...
- sublime快捷键收藏
快速查找(ctrl + P)输入@+函数名可以快速找到函数.输入#+文本可以快速进行文件内文本匹配.3. 多行游标功能(ctrl + D,非常实用)如何将文件中的某个单词更改为另一个?方法一:利用查找 ...
- centos 6.5 安装 nginx+php+mysql
一.准备工作 (1)配置防火墙 1.首先检查iptables服务的状态 [root@woxplife ~]# service iptables status iptables: Firewall is ...
- linux下JDK,tomcat的安装与环境变量配置
先从网上下载jdk(jdk-1_5_0_02-linux-i586.rpm) ,下载后放在/home目录中,当然其它地方也行. 进入安装目录#cd /home#cp jdk-1_5_0_02-linu ...
- USB匹配电阻
做过USB的人都或许有一个纠结,那就是D+和D-上到底要串多大的电阻,串在源端还是终端. 我想说:网络上的说法都不完全正确,首先USB有低速.全速和高速之分,在低速和全速模式下是电压驱动的,驱动电压为 ...
- TCP连接探测中的Keepalive和心跳包. 关键字: tcp keepalive, 心跳, 保活
1. TCP保活的必要性 1) 很多防火墙等对于空闲socket自动关闭 2) 对于非正常断开, 服务器并不能检测到. 为了回收资源, 必须提供一种检测机制. 2. 导致TCP断连的因素 如果网络正常 ...