Android 动画学习笔记
Android动画的两种:Frame帧动画、Tween动画(位移动画)【实现:存放目录res/anim】
Tween动画:(位移、缩放、旋转):通过对场景里的对象不断做图像变换。
四种效果Alpha、Scale、Translate、Rotate[蓝色为xml中属性的解释]
- Alpha:渐变透明度
fromAlpha 动画开始时候透明度
toAlpha为 动画结束时候透明度
说明: 0.0表示完全透明; 1.0表示完全不透明
duration 属性为动画持续时间
说明: 时间以毫秒为单位1000=1s
- Scale:伸缩
fromXScale 为动画起始时 X坐标上的伸缩尺寸
toXScale 为动画结束时 X坐标上的伸缩尺寸
fromYScale 为动画起始时Y坐标上的伸缩尺寸
toYScale 为动画结束时Y坐标上的伸缩尺寸
说明:以上四种属性值
0.0表示收缩到没有 ;1.0表示正常无伸缩
【值小于1.0表示收缩 ;值大于1.0表示放大】
pivotX: 中心点X坐标位置
pivotY: 中心点Y坐标位置
duration 属性为动画持续时间
说明: 时间以毫秒为单位
- Translate:画面转换位置移动动画效果
- 注意:fromXTyep to Xtype fromYType to Ytype默认是以自己为相对参照物
整型值:(三种值:100%p,100%)
fromXDelta 属性为动画起始时 X坐标上的位置
toXDelta 属性为动画结束时 X坐标上的位置
fromYDelta 属性为动画起始时 Y坐标上的位置
toYDelta 属性为动画结束时 Y坐标上的位置
长整型值:
duration 属性为动画持续时间
说明: 时间以毫秒为单位
android:fillBefore="false"
android:fillAfter="true" 是否保留动画【变换】后,结束后的位置状态
(向上为-数,往下是+数)
- Rotate:画面转移旋转动画效果
属性:interpolator 指定一个动画的插入器
有三种动画插入器:
accelerate_decelerate_interpolator 加速-减速 动画插入器
accelerate_interpolator 加速-动画插入器
decelerate_interpolator 减速- 动画插入器
浮点数型值:
fromDegrees 属性为动画起始时物件的角度
toDegrees 属性为动画结束时物件旋转的角度 可以大于360度
说明:
当角度为负数——表示逆时针旋转
当角度为正数——表示顺时针旋转
(负数from——to正数:顺时针旋转)
(负数from——to负数:逆时针旋转)
(正数from——to正数:顺时针旋转)
(正数from——to负数:逆时针旋转)
pivotX 属性为动画相对于物件的X坐标的开始位置
pivotY 属性为动画相对于物件的Y坐标的开始位置
说明:以上两个属性值 从0%-100%中取值;50%为物件的X或Y方向坐标上的中点位置
duration 属性为动画持续时间
说明:时间以毫秒为单位
Java中绑定TweenAnimation以及实现动画效果:
private ImageView ivAbout;
private Animation aboutAnimation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.animation_tween_activity);
initView();
startAlphaScaleAnimation();
}
private void initView() {
ivAbout=(ImageView)super.findViewById(R.id.ivAbout);
}
/**启动移动动画的方法*/
private void startTransAnimation(){
aboutAnimation=AnimationUtils.loadAnimation(this, R.anim.translate_about);//获得动画效果
aboutAnimation.setFillAfter(true);//设置保留动画结果的属性
ivAbout.startAnimation(aboutAnimation);//将图片关联且启动动画
}
Activity切换动画
- 动画xml
- 在startAcitvity和finish方法后调用overridePending Transition方法
super.overridePendingTransition(enterAnim, exitAnim)
Frame帧动画
- 在drawable新建xml文件è选择animation-list,设置动态资源、时间、是否循环属性。
<!--oneshot="false"循环播放 -->
- 在Activity.java代码中进行资源绑定实现动画效果。
(1)animationlist_frame.xml 配置
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/anim_wip_bk_fog" android:duration="5000"></item>
<item android:drawable="@drawable/anim_wip_bk_dust" android:duration="5000"></item>
</animation-list>
(2)java代码的实现
private RelativeLayout root;
private AnimationDrawable drawable;
private void initView() {
root=(RelativeLayout)super.findViewById(R.id.root);
//取得动画效果的资源设置为layout root的背景
root.setBackgroundResource(R.drawable.animationlist_frame);
//将root的背景资源设置为逐帧动画的资源文件
drawable=(AnimationDrawable)root.getBackground();
}
private void startAnimation() {
drawable.start();//开始帧动画
}
@Override
protected void onResume() {
super.onResume();
startAnimation();
}
@Override
protected void onStop() {
super.onStop();
drawable.stop();//停止帧动画
}
Android 动画学习笔记的更多相关文章
- Android动画学习笔记-Android Animation
Android动画学习笔记-Android Animation 3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...
- Android动画学习笔记大集合
其实动画这个东西我已经了解过很长一段时间了,但是一直没系统的整理过.关于android中的各种动画虽然都会用,但总怕自己会慢慢遗忘.这回看了几篇动画分析的文章,自己也学到了一些东西,在此就梳理一下. ...
- android拾遗——Android 动画学习笔记
3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三 ...
- Android动画学习(二)——Tween Animation
前两天写过一篇Android动画学习的概述,大致的划分了下Android Animation的主要分类,没有看过的同学请移步:Android动画学习(一)——Android动画系统框架简介.今天接着来 ...
- Android自动化学习笔记:编写MonkeyRunner脚本的几种方式
---------------------------------------------------------------------------------------------------- ...
- Android自动化学习笔记之MonkeyRunner:官方介绍和简单实例
---------------------------------------------------------------------------------------------------- ...
- android开发学习笔记000
使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...
- android动画学习
android动画学习 转载自:http://www.open-open.com/lib/view/open1329994048671.html 3.0以前,android支持两种动画模式,twe ...
- Android 数字签名学习笔记
Android 数字签名学习笔记 在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的pro ...
随机推荐
- JDK - Tomcat - Eclipse - JSP - Servlet 配置运行全攻略
花了将近两个月的时间,从 JDK 开始一步一步摸索,历经千辛万苦,终于让第一个 Servlet 运行起来了,创建第一个 Servlet 程序确实要比创建第一个 Asp.net 程序困难多了,但是不要 ...
- CSS实现标题右侧“更多”
HTML < h2>< a h ref="#" >标题< /a> < span>更多…< /span> < /h2 ...
- mina高并发短连接导致java.io.IOException: Too many open files解决方案
http://marsvaadin.iteye.com/blog/1698924 mina性能测试 http://hi.baidu.com/rendong/item/bb5d2b0e4563c76dd ...
- DropdownList绑定的两种方法
动态绑定方法一:动态绑定数据库中的字段. SqlConnection conn = UtilitySqlClass.OperateDataBase.ReturnConn();string strSQL ...
- 【转】C++ 异常
一.什么是异常处理 一句话:异常处理就是处理程序中的错误. 二.为什么需要异常处理,以及异常处理的基本思想 C++之父Bjarne Stroustrup在<The C++ Programming ...
- Educational Codeforces Round 4 B. HDD is Outdated Technology 暴力
B. HDD is Outdated Technology 题目连接: http://www.codeforces.com/contest/612/problem/B Description HDD ...
- (字符串的处理4.7.16)POJ 1159 Palindrome(让一个字符串变成回文串需要插入多少个字符...先逆序,在减去公共子序列的最大长度即可)
/* * POJ_1159.cpp * * Created on: 2013年10月29日 * Author: Administrator */ #include <iostream> # ...
- 使用TypeDescriptor给类动态添加Attribute
给类动态添加Attribute一直是我想要解决的问题,从msdn里找了很久,到Stack Overflow看了不少文章,算是最终有了答案. 先是有这样的一段解释 Attributes are stat ...
- onConfigurationChanged is not called&& 翻转屏幕不执行onConfigurationChanged方法&&onConfigurationChanged不执行
我总结出一句话: 如果target sdk>=13,必须使用如下方式声明activity:android:configChanges="orientation|screenSize&q ...
- 2012 East Central Regional Contest 解题报告
昨晚各种莫名其妙卡题. 不过细看这套题还挺简单的.全是各种暴力. 除了最后一道题计算几何看起来很麻烦的样子,其他题都是很好写的吧. A. Babs' Box Boutique 题目大意是给出不超过10 ...