android 动画效果
android的动画效果可以通过在代码中Animation实现,可以实现的效果有平移,旋转,透明,缩放,同样的效果可以使用anim文件夹下的xml实现同样的动画效果,还可以在drawable文件使用多张图片形成动画。
1.透明度动画
代码
//1.创建透明度动画对象,数值越小越透明AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0.1f);//设置动画的持续时间alphaAnimation.setDuration(3000);//设置是否保留最终状态alphaAnimation.setFillAfter(true);//设置重复次数,填-1无限循环alphaAnimation.setRepeatCount(1);//设置动画的重复模式,默认是Restart,Reverse是反方向执行alphaAnimation.setRepeatMode(Animation.REVERSE);//通过控件启动动画img.startAnimation(alphaAnimation);
xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:duration="3000" android:repeatMode="reverse" android:fillAfter="true" > <!-- 透明度动画 --> <!-- repeatMode 设置动画的重复模式,默认是Restart,Reverse是反方向执行 --> <!-- fillAfter 保持最终形态--> <!-- repeatCount 设置动画重复次数--> <!-- android:fromAlpha="1" android:toAlpha="0.2" 从完全不透明到透明--> <alpha android:fromAlpha="1" android:toAlpha="0.2" android:repeatCount="0"/></set>
2.缩放动画
代码
ScaleAnimation scaleAnimation = new ScaleAnimation(0.5f, 2, 0.5f, 2, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);scaleAnimation.setDuration(3000);scaleAnimation.setFillAfter(true);img.startAnimation(scaleAnimation);
xml
<?xml version="1.0" encoding="utf-8"?><scale xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator= "@android:anim/decelerate_interpolator" android:duration="10000" android:fromXScale="0.0" android:fromYScale="0.0" android:pivotX="50%" android:pivotY="50%" android:repeatCount="1" android:repeatMode="reverse" android:startOffset="0" android:toXScale="1.5" android:toYScale="1.5" />
3.旋转动画
代码
//相对自己的左上角旋转,正数代表顺时针,负数逆时针RotateAnimation rotateAnimation = new RotateAnimation(0,-180);//相对(200,300)点旋转//相对于中心旋转//RotateAnimation rotateAnimation = new RotateAnimation(0,-180,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);//RotateAnimation rotateAnimation = new RotateAnimation(0,-180,200,300);rotateAnimation.setDuration(3000);img.startAnimation(rotateAnimation);
xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" > <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="10000" android:fromDegrees="300" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:pivotX="10%" android:pivotY="100%" android:toDegrees="-360" /></set>
4.平移动画
代码
int screenWidth = getResources().getDisplayMetrics().widthPixels;int imgeWidth = img.getWidth();//TranslateAnimation translateAnimation = new TranslateAnimation(0,screenWidth-imgeWidth,0,0);TranslateAnimation translateAnimation = new TranslateAnimation(0,200,0,0);translateAnimation.setDuration(3000);translateAnimation.setFillAfter(true);img.startAnimation(translateAnimation);
xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" > <translate android:duration="1000" android:fromXDelta="0" android:fromYDelta="0" android:toXDelta="200" android:toYDelta="0" /></set>
执行xml动画的代码
Animation anim = AnimationUtils.loadAnimation(this, R.anim.rotate);img.setAnimation(anim);img.startAnimation(nim);
动画还有可以将图片循环播放的一种动画,使用animation_list来选择多张图片AnimationDrawable类来处理
<?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/img1" android:duration="200"/> <item android:drawable="@drawable/img2" android:duration="200"/> <item android:drawable="@drawable/img3" android:duration="200"/> </animation-list>
开始动画和停止动画
img.setImageResource(R.drawable.animation_img);//给动画资源赋值animationDrawable = (AnimationDrawable) img.getDrawable();animationDrawable.start();//开始
animationDrawable.stop();//结束
实例下载网址:https://github.com/tempest1/amin
转载于:https://www.cnblogs.com/kkrs/p/9505347.html
android 动画效果相关推荐
- Android动画效果之自定义ViewGroup添加布局动画
Android动画效果之自定义ViewGroup添加布局动画 前言: 前面几篇文章介绍了补间动画.逐帧动画.属性动画,大部分都是针对View来实现的动画,那么该如何为了一个ViewGroup添加动画呢 ...
- 一个帖子掌握android所有控件、ProgressBar 、Android 动画效果、SQLite、四大组件、Android多媒体(转...
Android多媒体实例大汇集(源码,全)经过两个星期的多媒体学习,实现了一系列DEMO,几乎涵盖了Android中对媒体中的各个方面(当然底层除外). http://www.apkbus.com/a ...
- Android动画效果translate、scale、alpha、rotate详解
动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面 ...
- XML实现Android动画效果anim
2019独角兽企业重金招聘Python工程师标准>>> 第一次发,就发个简单的吧.. = = 其实已经是被发表过无数次的话题了,不过看了别人的都是千篇一律,却没有讲全(你以为你的就很 ...
- Android动画效果 translate、scale、alpha、rotate 切换Activity动画 控件位置调整
2011.10.28注:如果需要控件停在动画后的位置,需要设置android:fillAfter属性为true,在set节点中.默认在动画结束后回到动画前位置.设置android:fillAfter后 ...
- Android动画效果-更新中
概述 Android系统提供了三种实现动画的方式,一种是补间动画(Tween Animation 在SDK中成为View Animation),另一种是帧动画(Frame Animation 在SDK ...
- android动画效果 translate,Android利用translate、scale、alpha、rotate实现动画效果
Android利用translate.scale.alpha.rotate实现动画效果 在Android中可以用animation实现动画效果,Android中的animation由四种类型组成: a ...
- Android 动画效果及Interpolator和AnimationListener的使用
转载http://www.itzhai.com/android-animation-used-to-achieve-control-of-animation-effects-and-use-of-in ...
- android自定义图片过渡效果,教你做出炫酷的Android动画效果
前言 Android动画也是Android系统中一个很重要的模块, 在平时开发中, 为了做出炫酷的效果, 动画可以说是必不可少的; 本文将总结Android中与动画相关的部分, 文中部分内容整理自文末 ...
- Android动画效果(二) 仿QQ点赞动画
近日有看到QQ点赞的动画效果,于是模仿写了一个 要实现图中效果,需要用到属性动画,属性动画利用ValueAnimator来跟踪记录对象属性已经变化了多长时间及当前这个时间点的值. 如果不设置的话,动画 ...
最新文章
- php的echo 和 return的区别
- HDU2050 折线分割平面
- 脚本重启nginx进程
- SQl 根据某列去重 partition by
- C++ 虚函数和纯虚函数的区别
- Python高级——赋值、浅拷贝与深拷贝
- 基础平台为第三方应用接入提供oauth2认证接口
- 服务器好玩的项目_听说女神还没买到回家的车票,程序员小P偷偷架起了服务器...
- Python __getattribute__ vs __getattr__
- Jquery多选框互相内容交换
- 声道测试音频_AirPods Pro 空间音频的这7个问题,你都了解吗?
- matlab算sma,SMA_移动平均及双均线模型
- UE4 人物运动基本设置
- 常用英语高频词汇android,常用英语单词高频词汇-精品
- 数据是信息的载体,能够被计算机识别、存储和加工处理,数据包括文字、表格、图像等
- 后端开发工程师的生命周期,生命在于学习
- Unity实现跨场景的传送门
- android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!
- matlab粒子群加约束条件_粒子群算法(PSO)MATLAB实现
- wps如何使用ppt美化大师_如何将PPT美化大师安装到WPS软件?方法一览
热门文章
- python语法学习第十天--类与对象
- mysql 5.7.9 winx64_Windows 7 安装配置 mysql-5.7.17-winx64 方法-Fun言
- vscode 配置sftp
- 一文教你安全的关闭线程池
- Spring boot 自定义拦截器 获取 自定义注解 信息
- Process 获取子进程输入流、杀死子进程
- 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_17-异常处理-可预知异常处理-异常处理测试...
- LOJ#2343. 「JOI 2016 Final」集邮比赛 2
- linux 命令汇总(搜索、fdfs、常用命令),虚拟机dump文件
- 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第1节 基础加强_3_Junit_使用步骤...