1Animations

它是指显示的动画效果,这些效果可以应用在绝大多数的控件里。

2Animations的分类

第一类:Tweened Animations

该类Animations提供了旋转(RotateAnimation),移动(TranslateAnimation),伸展(ScaleAnimation)

和谈出(AlphaAnimation)的效果。Animation抽象类下的五大子类:

AlphaAnimation, AnimationSet, RotateAnimation, ScaleAnimation, TranslateAnimation
             其中AnimationSet的是用来装载多个其他的Animation,这样一个控件可以显示多个动画效果。

第二类:Frame-by-Frame Animations

这一类Animations可以创建一个Drawable序列,这些Drawable可以按照指定的时间间隙一个一个的显示

3.Tweened Animations使用

1.创建一个AnimationSet对象。

2.创建(一个或多个)Animation对象(即除了Set以外的)。

3.设置Animation对象的属性,AnimationSet属性。

4.调用控件的方法startAnimation(animtion);//该控件就是要使用动画效果的控件

 1 public class AnimationTestActivity extends Activity {
 2
 3     /*animation:动画演示
 4      * 1.创建AnimationSet
 5      * 2.创建Animation对象:
 6      * AlphaAnimation, RotateAnimation,
 7      * ScaleAnimation, TranslateAnimation
 8      * 3.设置该对象的参数
 9      * 4.set添加该对象进去
10      * 5.使用控件对象执行set
11      * */
12     private Button alphabutton=null;
13     private Button rotatebutton=null;
14     private Button scalebutton=null;
15     private Button translatebutton=null;
16     private ImageView imageview=null;
17     /** Called when the activity is first created. */
18     @Override
19     public void onCreate(Bundle savedInstanceState) {
20         super.onCreate(savedInstanceState);
21         setContentView(R.layout.main);
22         alphabutton=(Button)findViewById(R.id.alphabutton);
23         rotatebutton=(Button)findViewById(R.id.rotatebutton);
24         scalebutton=(Button)findViewById(R.id.scalebutton);
25         translatebutton=(Button)findViewById(R.id.translatebutton);
26         imageview=(ImageView)findViewById(R.id.imageview);
27         alphabutton.setOnClickListener(new OnClickListener() {
28
29             public void onClick(View v) {
30                 // TODO Auto-generated method stub
31                 //1.创建AnimationSet对象
32                 AnimationSet set=new AnimationSet(true);
33                 //2.创建alphaanimation对象
34                 AlphaAnimation aa=new AlphaAnimation(1, 0);
35                 aa.setDuration(1000);
36                 //3.添加进去
37                 set.addAnimation(aa);
38                 //4.控件启动该set
39                  imageview.startAnimation(set);
40             }
41         });
42         rotatebutton.setOnClickListener(new OnClickListener() {
43
44             public void onClick(View v) {
45                 // TODO Auto-generated method stub
46                 //1.创建AnimationSet对象
47                 AnimationSet set=new AnimationSet(true);
48                 //2.创建alphaanimation对象
49                 RotateAnimation aa=new RotateAnimation(70,0,70,0);
50                 set.setDuration(1000);
51                 set.setFillAfter(true);
52                 set.setFillBefore(false);
53                 //3.添加进去
54                 set.addAnimation(aa);
55                 //4.控件启动该set
56                  imageview.startAnimation(set);
57             }
58         });
59
60     }
61 }

View Code

4.Frame-by-Frame Animations使用

res/anim/目录下的animationset的xml文件

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"android:interpolator="@android:anim/accelerate_interpolator"><alpha android:fromAlpha="0.1"android:toAlpha="1.0"android:duration="3000"/>    <rotateandroid:fromDegrees="0"android:toDegrees="360"android:pivotX="0.5"android:pivotY="0.5"android:duration="3000"/>
</set>

public class AnimationTest2Activity extends Activity {/** 使用自定义的Animation*/private Button alphabutton=null;private ImageView imageview=null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);alphabutton=(Button)findViewById(R.id.alphabutton);imageview=(ImageView)findViewById(R.id.imageview);alphabutton.setOnClickListener(new OnClickListener() {public void onClick(View v) {//1.获得alphaanimationset对象,R.anim.alpha为我们创建的alphaanimationset的xml文件Animation autils= AnimationUtils.loadAnimation(AnimationTest2Activity.this,R.anim.alpha);//2.控件启动该set
            imageview.startAnimation(autils);}});}
}

5.Interpolator和视频效果(采用多张图片快速显示)

转载于:https://www.cnblogs.com/beyondbycyx/p/4297344.html

android-Animation-十二相关推荐

  1. Android Studio(十二):打包多个发布渠道的apk文件

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  2. Android入门(十二)SQLite事务、升级数据库

    原文链接:http://www.orlion.ga/610/ 一.事务 SQLite支持事务,看一下Android如何使用事务:比如 Book表中的数据都已经很老了,现在准备全部废弃掉替换成新数据,可 ...

  3. Android - Animation(二)

    Android - Animation(一) 一文总结了Android中的补间动画(View Animation/Tween Animation)和帧动画(Drawable Animation/Fra ...

  4. Android 第十二课 使用LitePal操作数据库(记得阅读最后面的注意事项哦)

    一.LitePal简介 1.(新建项目LitePalTest) 正式接触第一个开源库---LitePal LitePal是一款开源的Android 数据库框架,它采用了对象关系映射(ORM)的模式. ...

  5. Kotlin 开发Android app(十二):Android布局FrameLayout和ViewPager2控件实现滚动广告栏

    在上一节中我们简单的介绍了RecyclerView 的使用,他是整个开发的重点控件,这一节我们来看看FrameLayout 布局结合ViewPager2,开发一个广告控件. 新模块banner 先创建 ...

  6. android第十二章简易打地鼠游戏,MouseGame

    MouseGame android简易打地鼠 在布局方面,整体是一个线性布局,最下方是由两个按钮和一个文本组成 关于上方的游戏画面,有两种设计思想 1.最外层采用帧布局,设置背景为有9个空洞的那张图片 ...

  7. 跟我学Android之十二 文件解析与处理

    视频课:[免费]零基础学安卓Android移动开发 本章内容 第1节  File Explorer操作 第2节  SharedPreferences 第3节  普通文件操作 第4节  SD卡读写操作 ...

  8. 股票交易android开发(十二)

    股票交易APP--充值

  9. Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验

    Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高 ...

  10. Android群英传读书笔记——第十二章:Android 5.X新特性详解

    第十二章目录 12.1 Android5.X UI设计初步 12.1.1 材料的形态模拟 12.1.2 更加真实的动画 12.1.3 大色块的使用 12.2 Material Design主题 12. ...

最新文章

  1. H3C   ISIS与BGP 路由配置
  2. java垃圾回收根对象_Java垃圾回收怎么理解?
  3. 涨知识!外贸中,船公司S/O(订舱单)文件英文解释!
  4. [云炬ThinkPython阅读笔记]2.2 变量名
  5. visual studio 2010 开发net 2.0 3.5项目
  6. SQL取最大值编码(自动编码)
  7. Faiss从入门到实战精通
  8. 网页自动关机代码HTML,自动定时关机命令
  9. 关于SPSS16的安装及教程
  10. Spring Boot 2.1.6.RELEASE embed tomcat启动过程
  11. CodeForces 283C Coin Troubles 分析+背包思想
  12. 中国软件业的机会——抓住机遇、挑战未来
  13. c语言输入坐标求距离,计算两个经纬度之间距离的C语言代码
  14. can收发器 rx_CAN/CANFD采样点
  15. git 打patch的方法
  16. 【在CentOS中使用Crow-基于C++的Web服务】
  17. Oracle-多表查询
  18. 堡垒机拓扑图_fanzhenlong/堡垒机部署方案总结.md at master · leadsino/fanzhenlong · GitHub...
  19. 【python爬虫专项(28)】链家二手房源数据采集1(分页信息采集)
  20. 公众号生成微信渠道二维码的方法?

热门文章

  1. JavaScript事件绑定
  2. Android面试题目整理与讲解
  3. 链表--只知道当前节点指针删除当前节点
  4. linux命令strip
  5. CentOS7安装Nginx及其相关
  6. Windows下给PHP安装redis扩展
  7. linux下查看监听port相应的进程
  8. 执行系统命令,subprocess使用说明
  9. 解决sdk manager无法更新的问题
  10. 在IIS6中FLV不能播放