Android开发之补间动画、XML方式定义补间动画
四种补间动画:
1、透明;
2、缩放;
3、位移;
4、旋转;
//点击按钮 实现iv 透明的效果 动画 public void click1(View v) { //1.0意味着着完全不透明 0.0意味着完全透明 AlphaAnimation aa = new AlphaAnimation(1.0f, 0.0f); aa.setDuration(2000); //设置动画执行的时间 aa.setRepeatCount(1); //设置重复的次数 aa.setRepeatMode(Animation.REVERSE);//设置动画执行的模式 //iv开始执行动画 iv.startAnimation(aa); } //点击按钮 实现iv 执行一个旋转 动画 public void click2(View v) { //fromDegrees 开始角度 toDegrees 结束角度 // RotateAnimation ra = new RotateAnimation(0, 360); RotateAnimation ra = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); ra.setDuration(2000); //设置动画执行的时间 ra.setRepeatCount(1); //设置重复的次数 ra.setRepeatMode(Animation.REVERSE);//设置动画执行的模式 //iv开始执行动画 iv.startAnimation(ra); } //点击按钮进行一个缩放动画 public void click3(View v) { ScaleAnimation sa = new ScaleAnimation(1.0f,2.0f, 1.0f, 2.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); sa.setDuration(2000); //设置动画执行的时间 sa.setRepeatCount(1); //设置重复的次数 sa.setRepeatMode(Animation.REVERSE);//设置动画执行的模式 //iv开始执行动画 iv.startAnimation(sa); } //位移动画 public void click4(View v){ TranslateAnimation ta = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0.2f); ta.setDuration(2000); //设置动画执行的时间 ta.setFillAfter(true);//当动画结束后 动画停留在结束位置 //开始动画 iv.startAnimation(ta); } //动画一起飞 public void click5(View v){ AnimationSet set = new AnimationSet(false); //透明动画 AlphaAnimation aa = new AlphaAnimation(1.0f, 0.0f); aa.setDuration(2000); //设置动画执行的时间 aa.setRepeatCount(1); //设置重复的次数 aa.setRepeatMode(Animation.REVERSE);//设置动画执行的模式 //旋转动画 RotateAnimation ra = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); ra.setDuration(2000); //设置动画执行的时间 ra.setRepeatCount(1); //设置重复的次数 ra.setRepeatMode(Animation.REVERSE);//设置动画执行的模式 //缩放 ScaleAnimation sa = new ScaleAnimation(1.0f,2.0f, 1.0f, 2.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); sa.setDuration(2000); //设置动画执行的时间 sa.setRepeatCount(1); //设置重复的次数 sa.setRepeatMode(Animation.REVERSE);//设置动画执行的模式 TranslateAnimation ta = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0.2f); ta.setDuration(2000); //设置动画执行的时间 ta.setFillAfter(true);//当动画结束后 动画停留在结束位置 //添加动画 set.addAnimation(aa); set.addAnimation(ra); set.addAnimation(sa); set.addAnimation(ta); //最后一步 要记得 执行动画 iv.startAnimation(set); }
几个属性介绍:
1、Duration:设置动画执行的时间;
2、RepeatCount:动画的重复次数,如果要无限次播放,填写一个小于0的数,一般写-1;
3、fillAfter:动画结束之后是否保持动画的最终状态;true,表示保持动画的最终状态
4、fillBefore:动画结束之后是否保持动画开始前的状态;true,表示恢复到动画开始前的状态
5、startOffset:动画的延迟时长,单位是毫秒
6、RepeatMode:动画的执行模式:
- reverse:动画是从一开始的1.0渐变成0.3,然后在从0.3渐变为1.0,重复往返
- restart:冻哈是从一开始的1.0渐变成0.3,然后图片从0.3突变为1.0,然后在渐变成0.3,重复往返,
XML定义补间动画:
透明:
<alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="200" android:repeatMode="reverse" android:repeatCount="2"> </alpha>
旋转:
<rotate android:fromDegrees="0" android:toDegrees="360" android:pivotX="50%" android:pivotY="50%" android:repeatCount="1" android:repeatMode="reverse" android:duration="2000" xmlns:android="http://schemas.android.com/apk/res/android"> </rotate>
缩放:
<scale android:fromXScale="1.0" android:toXScale="2.0" android:fromYScale="1.0" android:toYScale="2.0" android:pivotX="50%" android:pivotY="50%" android:repeatMode="reverse" android:repeatCount="1" android:duration="2000" xmlns:android="http://schemas.android.com/apk/res/android"> </scale>
位移:
<translate android:fromXDelta="0%p" android:toXDelta="0%p" android:fromYDelta="0%p" android:toYDelta="20%p" android:fillAfter="true" android:duration="2000" xmlns:android="http://schemas.android.com/apk/res/android"> </translate>
实现XML动画:
public void click1(View v) { Animation aa = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.alpha); //iv开始执行动画 iv.startAnimation(aa); }
Android开发之补间动画、XML方式定义补间动画的更多相关文章
- 使用xml方式定义补间动画
在res下创建一个目录 anim目录 public class MainActivity extends Activity { private ImageView iv; @Override prot ...
- Android开发——弹性滑动的两种实现方式
0. 前言 欢迎转载,转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52538723 我们在Android开发--View滑动的三 ...
- Android开发学习---使用XmlPullParser解析xml文件
Android中解析XML的方式主要有三种:sax,dom和pull关于其内容可参考:http://blog.csdn.net/liuhe688/article/details/6415593 本文将 ...
- Android开发之使用DefaultHandler处理XML数据
一.定义规则 XML数据结构定义 请记住上面的定义,后面我会用“标签开始”.“文本”.“标签结束”表示SAX正在处理哪部分XML数据 事件模型 为什么这里我要谈到这个,因为SAX处理XML数据是采用事 ...
- Spring的AOP开发(基于AspectJ的XML方式)
Spring的AOP的简介: AOP思想最早是由AOP联盟组织提出的.Spring是使用这种思想最好的框架 Spring的AOP有自己实现的方式(非常繁琐). Aspect是一个AOP的框架, Spr ...
- Android开发更新UI的几种方式
1.runOnUiThread 2.handler post 3.handler sendmessage 4.view post xml布局文件: <RelativeLayout xmlns:a ...
- Android开发 - 更"聪明"的申请权限方式
在Android6.0以后,很多权限需要动态申请,只有在用户点同意后,我们才能使用对应API,因此,正确申请权限就显得很重要. 常用方式 通常我们使用这种方式来判断权限状态: private stat ...
- 【Android开发】Android6.0请求权限方式
记录一下最普通的动态请求权限的方法: private int requestCode == 123; //判断当前系统的版本 if(Build.VERSION.SDK_INT >= 23){ i ...
- Android开发 ---基本UI组件6 :只定义一个listView组件,然后通过BaseAdapter适配器根据数据的多少自行添加多个ListView显示数据
效果图: 1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> ...
随机推荐
- kill
向一个/一些进程发送一个信号 $kill [-slL] -s指定发送的信号,可以使用名称或者信号编号 -l列出当前系统的所有信号 $kill -l 1) SIGHUP 2) SIGINT 3) SIG ...
- Javascript parseFloat内部解析规则
这是由小习发的一个问题引起的讨论,结束后大家各自加深了多parseFloat的理解. 如下 16进制数0x10使用parseFloat转成数字,结果为0.潜意识期望的结果是16. 有人说脑残,16进制 ...
- Eclipse RCP实用小技巧
1.插件Plugin工程的build.properties中增加一行,javacDefaultEncoding.. = UTF 2.插件Plugin工程的Runtime的classpath中加入.
- Addthis使用
一.使用 https://www.addthis.com/.国外的SNS分享站点较多,适用于英文站点内容的分享.有教程. 我的测试代码如下: <html> <meta charset ...
- Mantis1.2.19 在Windows 平台上的安装配置详解
安装环境: WindowsXP 32 Apache2.2.22+PHP5.4.39+MySQL5.5.28 一.简介 MantisBT是由PHP开发的.基于WEB的缺陷跟踪系统,并采用开源数据库MyS ...
- linux运维中的命令梳理(三)
----------文本操作命令---------- sed命令:文本编辑工具 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特 ...
- java类型转换
//java类型转换public class Demo2 { public static void main(String[] args){ int num1 = 55; int num2 =77; ...
- 弹性返回顶部JS代码
弹性返回顶部JS代码 弹性返回顶部JS代码点击下载
- AASM rule of scoring sleep stages using EEG signal
Reference: AASM (2007). The AASM Manual for the Scoring of Sleep and Associated Events: Rules, Termi ...
- JS给文本框赋值后,在页面后台取不到文本框值的解决方法
转自:http://www.cnblogs.com/qiaohd/archive/2012/03/23/2413660.html (ReadOnly.disabled 都有可能造成取值取不到) 开发一 ...