Android开发UI之补间动画-Tween Animation
Tween Animation-补间动画
官网链接-http://developer.android.com/reference/android/view/animation/Animation.html
Animation,继承Object,实现Cloneable接口
实现的直接子类:AlphaAnimation,TransalteAnimation,ScaleAnimation,RotateAnimation,AnimationSet
1.透明动画---AlphaAnimation
a.动态java代码实现button按钮的透明效果
rootView.findViewById(R.id.btnAnimation).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlphaAnimation aa=new AlphaAnimation(0, 1);
aa.setDuration(1000);
v.startAnimation(aa);
}
});
b.通过XML属性设置实现透明动画
新建一个Android XML fils,在新建页面,Resource Type选择为Tween Animation,Root element选择为alpha.
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="0"
android:toAlpha="1"
android:duration="1000" >
</alpha>
java代码
rootView.findViewById(R.id.btnAnimation).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
v.setAnimation(AnimationUtils.loadAnimation(getActivity(), R.anim.aa));
}
});
2.旋转动画-RotateAnimation
a.动态java代码实现button按钮的旋转效果
findViewById(R.id.btnRotate).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
RotateAnimation ra=new RotateAnimation(0, 360);
ra.setDuration(1000);
v.setAnimation(ra);
}
});
b.通过XML属性设置实现旋转动画
新建一个Android XML fils,在新建页面,Resource Type选择为Tween Animation,Root element选择为rotate.
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="360"
android:duration="1000"
android:pivotX="50%" //自身的50%
android:pivotY="50%"> //自身的50%
</rotate>
java代码
findViewById(R.id.btnRotate).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
v.setAnimation(AnimationUtils.loadAnimation(getApplication(), R.anim.ra));
}
});
3.移动动画-TranslateAnimation
a.动态java代码实现button按钮的移动效果
findViewById(R.id.translateAnimation).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
TranslateAnimation ta=new TranslateAnimation(0, 0, 300, 300);
ta.setDuration(1000);
v.setAnimation(ta);
}
});
b.通过XML属性设置实现移动动画
新建一个Android XML fils,在新建页面,Resource Type选择为Tween Animation,Root element选择为translate.
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="100"
android:fromYDelta="0"
android:toYDelta="100"
android:duration="1000">
</translate>
java代码
findViewById(R.id.translateAnimation).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
v.setAnimation(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.ta));
}
});
4.缩放动画-ScaleAnimation
a.动态java代码实现button按钮的缩放效果
findViewById(R.id.btnScale).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ScaleAnimation sa=new ScaleAnimation(0, 1, 0, 1);
sa.setDuration(1000);
v.setAnimation(sa); }
});
b.通过XML属性设置实现缩放动画
新建一个Android XML fils,在新建页面,Resource Type选择为Tween Animation,Root element选择为scale.
<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXScale="0"
android:toXScale="1"
android:fromYScale="0"
android:toYScale="1"
android:duration="1000" android:pivotX="50%"
android:pivotY="50%">
</scale>
java代码
findViewById(R.id.btnScale).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
v.setAnimation(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.sa));
}
});
5.混合动画--AnimationSet
a.动态java代码实现button按钮的混合动画效果
findViewById(R.id.btnAnimation).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AnimationSet as=new AnimationSet(true);
as.setDuration(1000);
AlphaAnimation aa=new AlphaAnimation(0, 1);
aa.setDuration(1000);
as.addAnimation(aa);
TranslateAnimation ta= new TranslateAnimation(200,0,200,0);
ta.setDuration(1000);
as.addAnimation(ta);
v.setAnimation(as);
}
});
b.通过XML属性设置实现混合动画效果
新建一个Android XML fils,在新建页面,Resource Type选择为Tween Animation,Root element选择为set.
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="true"
android:duration="1000"> <alpha android:fromAlpha="0" android:toAlpha="1"/> <translate android:fromXDelta="200"
android:toXDelta="0"
android:fromYDelta="200"
android:toYDelta="0"/>
</set>
java代码:
findViewById(R.id.btnAnimation).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
v.startAnimation(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.anim));
}
});
Android开发UI之补间动画-Tween Animation的更多相关文章
- Android开发UI之补间动画-布局添加动画
布局添加动画 使用步骤: 1.获取到布局的id RelativeLayout ly=(RelativeLayout)findViewById(R.id.layout); 2.设置动画样式 ScaleA ...
- Android动画总结#补间动画(Tween Animation/View Animation) #帧动画(Frame Animation/Drawable Animation)#属性动画(PropertyAnimation)
1.共有三种动画,英文名字多种叫法如下 第一种动画:补间动画(Tween Animation/View Animation) 四个:RotateAnimation旋转. AlphaAnimation透 ...
- Android开发实战之补间动画和属性动画
说起动画,其实一点也不陌生,在使用一款app的时候为了优化用户体验,多多少少的,都会加入动画. 安卓中的动画,分为两大类:补间动画和属性动画.本篇博文会详细介绍总结这两大动画,希望本篇博文对你的学习和 ...
- android 补间动画和Animation
介绍: 补间动画是一种设定动画开始状态.结束状态,其中间的变化由系统计算补充.这也是他叫做补间动画的原因. 补间动画由Animation类来实现具体效果,包括平移(TranslateAnimation ...
- Android中四种补间动画的使用示例(附代码下载)
场景 Android中四种补间动画. 透明度渐变动画 旋转动画 缩放动画 平移动画 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程 ...
- Android开发(26)--补间动画(Tween)的实现
补间动画(Tween Animation) 补间动画与逐帧动画在本质上是不同的,逐帧动画通过连续播放图片来模拟动画的效果,而补间动画则是通过在两个关键帧之间补充渐变的动画效果来实现的.补间动画的优点是 ...
- ListView的淡入淡出和Activity的淡入淡出补间动画效果Animation
//=========主页面======================= package com.bw.lianxi7; import android.os.Bundle;import androi ...
- Android基础笔记(十)- 帧动画、补间动画具体解释、对话框
帧动画 补间动画Tween Animation 对话框以及面试中的注意点 帧动画 帧动画非常easy,我们首先看一下Google官方解释This is a traditional animation ...
- android 帧动画,补间动画,属性动画的简单总结
帧动画——FrameAnimation 将一系列图片有序播放,形成动画的效果.其本质是一个Drawable,是一系列图片的集合,本身可以当做一个图片一样使用 在Drawable文件夹下,创建ani ...
随机推荐
- iOS调试程序时,启动应用失败的解决办法
最近在iOS项目中调试程序,项目中用到第三方应用来启动我的应用程序,调试阶段在实体机上用第三方应用启动我的应用时,出现如下错误,程序停止运行: 同时,在AppDelegate对象的如下方法中设置断点: ...
- JavaScript学习笔记(6)——JavaScript语法之对象
JavaScript 中的所有事物都是对象:字符串.数字.数组.日期,等等. 在 JavaScript 中,对象是拥有属性和方法的数据. 属性是与对象相关的值. 方法是能够在对象上执行的动作. 提示: ...
- Fire Net
Fire Net Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Subm ...
- C/C++代码检视要点
4.1.1 C/C++代码检视要点 代码检视技能属于开发人员的基本功,能够很大程度地反应出开发人员的能力水平,前面4.4.1节已经讲过提高评审检视的方法.下面以实际的C/C++语言方面的代 ...
- 观【史上最牛linux视频教程】整理笔记,持续更新……
//文件处理命令 命令格式:命令 [-参数] [参数] 例:ls -la /etc -a等于--all //目录处理命令:ls 英文原意:list 所在路径:/bin/ls 语法:ls 选项[-ald ...
- Mac OS X平台上Java环境的配置
最近换了工作,以前是做c/c++的,但是现在公司的主打产品是使用Java开发,为了以后维护代码,现在开始抽空学习一下Java相关的内容. 在学习之前,首先需要搭建各种平台的开发环境,而我选用的操作系统 ...
- Node.js:JavaScript脚本运行环境
Node.js https://nodejs.org/ 2016-08-03
- sql 自定义排序
方法一: 比如需要对SQL表中的字段NAME进行如下的排序: 张三(Z) 李四(L) 王五(W) 赵六(Z) 按照sql中的默认排序规则,根据字母顺序(a~z)排,结果为:李四 王五 赵六 张三 ...
- Asp.net Gridview导出Excel
前台页面放一个GridView什么的就不说了,要注意的是在 <%@ Page Language="C#" AutoEventWireup="true" C ...
- C#简单的tcpserver
实现一个简单的TCPserver,用tcplistener实现. 当收到客户端特定信息"101"时,发送给客户端"202“指令. using System; using ...