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 动画效果相关推荐

  1. Android动画效果之自定义ViewGroup添加布局动画

    Android动画效果之自定义ViewGroup添加布局动画 前言: 前面几篇文章介绍了补间动画.逐帧动画.属性动画,大部分都是针对View来实现的动画,那么该如何为了一个ViewGroup添加动画呢 ...

  2. 一个帖子掌握android所有控件、ProgressBar 、Android 动画效果、SQLite、四大组件、Android多媒体(转...

    Android多媒体实例大汇集(源码,全)经过两个星期的多媒体学习,实现了一系列DEMO,几乎涵盖了Android中对媒体中的各个方面(当然底层除外). http://www.apkbus.com/a ...

  3. Android动画效果translate、scale、alpha、rotate详解

    动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面 ...

  4. XML实现Android动画效果anim

    2019独角兽企业重金招聘Python工程师标准>>> 第一次发,就发个简单的吧.. = = 其实已经是被发表过无数次的话题了,不过看了别人的都是千篇一律,却没有讲全(你以为你的就很 ...

  5. Android动画效果 translate、scale、alpha、rotate 切换Activity动画 控件位置调整

    2011.10.28注:如果需要控件停在动画后的位置,需要设置android:fillAfter属性为true,在set节点中.默认在动画结束后回到动画前位置.设置android:fillAfter后 ...

  6. Android动画效果-更新中

    概述 Android系统提供了三种实现动画的方式,一种是补间动画(Tween Animation 在SDK中成为View Animation),另一种是帧动画(Frame Animation 在SDK ...

  7. android动画效果 translate,Android利用translate、scale、alpha、rotate实现动画效果

    Android利用translate.scale.alpha.rotate实现动画效果 在Android中可以用animation实现动画效果,Android中的animation由四种类型组成: a ...

  8. Android 动画效果及Interpolator和AnimationListener的使用

    转载http://www.itzhai.com/android-animation-used-to-achieve-control-of-animation-effects-and-use-of-in ...

  9. android自定义图片过渡效果,教你做出炫酷的Android动画效果

    前言 Android动画也是Android系统中一个很重要的模块, 在平时开发中, 为了做出炫酷的效果, 动画可以说是必不可少的; 本文将总结Android中与动画相关的部分, 文中部分内容整理自文末 ...

  10. Android动画效果(二) 仿QQ点赞动画

    近日有看到QQ点赞的动画效果,于是模仿写了一个 要实现图中效果,需要用到属性动画,属性动画利用ValueAnimator来跟踪记录对象属性已经变化了多长时间及当前这个时间点的值. 如果不设置的话,动画 ...

最新文章

  1. php的echo 和 return的区别
  2. HDU2050 折线分割平面
  3. 脚本重启nginx进程
  4. SQl 根据某列去重 partition by
  5. C++ 虚函数和纯虚函数的区别
  6. Python高级——赋值、浅拷贝与深拷贝
  7. 基础平台为第三方应用接入提供oauth2认证接口
  8. 服务器好玩的项目_听说女神还没买到回家的车票,程序员小P偷偷架起了服务器...
  9. Python __getattribute__ vs __getattr__
  10. Jquery多选框互相内容交换
  11. 声道测试音频_AirPods Pro 空间音频的这7个问题,你都了解吗?
  12. matlab算sma,SMA_移动平均及双均线模型
  13. UE4 人物运动基本设置
  14. 常用英语高频词汇android,常用英语单词高频词汇-精品
  15. 数据是信息的载体,能够被计算机识别、存储和加工处理,数据包括文字、表格、图像等
  16. 后端开发工程师的生命周期,生命在于学习
  17. Unity实现跨场景的传送门
  18. android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!
  19. matlab粒子群加约束条件_粒子群算法(PSO)MATLAB实现
  20. wps如何使用ppt美化大师_如何将PPT美化大师安装到WPS软件?方法一览

热门文章

  1. python语法学习第十天--类与对象
  2. mysql 5.7.9 winx64_Windows 7 安装配置 mysql-5.7.17-winx64 方法-Fun言
  3. vscode 配置sftp
  4. 一文教你安全的关闭线程池
  5. Spring boot 自定义拦截器 获取 自定义注解 信息
  6. Process 获取子进程输入流、杀死子进程
  7. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_17-异常处理-可预知异常处理-异常处理测试...
  8. LOJ#2343. 「JOI 2016 Final」集邮比赛 2
  9. linux 命令汇总(搜索、fdfs、常用命令),虚拟机dump文件
  10. 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第1节 基础加强_3_Junit_使用步骤...