android-Animation-十二
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-十二相关推荐
- Android Studio(十二):打包多个发布渠道的apk文件
Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...
- Android入门(十二)SQLite事务、升级数据库
原文链接:http://www.orlion.ga/610/ 一.事务 SQLite支持事务,看一下Android如何使用事务:比如 Book表中的数据都已经很老了,现在准备全部废弃掉替换成新数据,可 ...
- Android - Animation(二)
Android - Animation(一) 一文总结了Android中的补间动画(View Animation/Tween Animation)和帧动画(Drawable Animation/Fra ...
- Android 第十二课 使用LitePal操作数据库(记得阅读最后面的注意事项哦)
一.LitePal简介 1.(新建项目LitePalTest) 正式接触第一个开源库---LitePal LitePal是一款开源的Android 数据库框架,它采用了对象关系映射(ORM)的模式. ...
- Kotlin 开发Android app(十二):Android布局FrameLayout和ViewPager2控件实现滚动广告栏
在上一节中我们简单的介绍了RecyclerView 的使用,他是整个开发的重点控件,这一节我们来看看FrameLayout 布局结合ViewPager2,开发一个广告控件. 新模块banner 先创建 ...
- android第十二章简易打地鼠游戏,MouseGame
MouseGame android简易打地鼠 在布局方面,整体是一个线性布局,最下方是由两个按钮和一个文本组成 关于上方的游戏画面,有两种设计思想 1.最外层采用帧布局,设置背景为有9个空洞的那张图片 ...
- 跟我学Android之十二 文件解析与处理
视频课:[免费]零基础学安卓Android移动开发 本章内容 第1节 File Explorer操作 第2节 SharedPreferences 第3节 普通文件操作 第4节 SD卡读写操作 ...
- 股票交易android开发(十二)
股票交易APP--充值
- Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验
Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高 ...
- Android群英传读书笔记——第十二章:Android 5.X新特性详解
第十二章目录 12.1 Android5.X UI设计初步 12.1.1 材料的形态模拟 12.1.2 更加真实的动画 12.1.3 大色块的使用 12.2 Material Design主题 12. ...
最新文章
- H3C ISIS与BGP 路由配置
- java垃圾回收根对象_Java垃圾回收怎么理解?
- 涨知识!外贸中,船公司S/O(订舱单)文件英文解释!
- [云炬ThinkPython阅读笔记]2.2 变量名
- visual studio 2010 开发net 2.0 3.5项目
- SQL取最大值编码(自动编码)
- Faiss从入门到实战精通
- 网页自动关机代码HTML,自动定时关机命令
- 关于SPSS16的安装及教程
- Spring Boot 2.1.6.RELEASE embed tomcat启动过程
- CodeForces 283C Coin Troubles 分析+背包思想
- 中国软件业的机会——抓住机遇、挑战未来
- c语言输入坐标求距离,计算两个经纬度之间距离的C语言代码
- can收发器 rx_CAN/CANFD采样点
- git 打patch的方法
- 【在CentOS中使用Crow-基于C++的Web服务】
- Oracle-多表查询
- 堡垒机拓扑图_fanzhenlong/堡垒机部署方案总结.md at master · leadsino/fanzhenlong · GitHub...
- 【python爬虫专项(28)】链家二手房源数据采集1(分页信息采集)
- 公众号生成微信渠道二维码的方法?