Android学习—补间动画(渐变动画)
使用xml的方式设置动画属性
1 <?xml version="1.0" encoding="utf-8"?> 2 <set xmlns:android="http://schemas.android.com/apk/res/android"> 3 <!-- 4 fromAlpha:动画的初始状态 5 toAlpha:动画的最终状态 6 duration:动画从初始状态到最终状态的持续时间 7 repeatCount:不包括第一次显示的,显示次数 8 --> 9 <alpha 10 android:fromAlpha="0.1" 11 android:toAlpha="1.0" 12 android:duration="2000" 13 android:repeatCount="3" 14 /> 15 </set>
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 tools:context="com.test2_23.test2_23.AlphaAnimation_Activity"> 5 6 <ImageView 7 android:id="@+id/img_Alpha" 8 android:src="@drawable/img_bird" 9 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" 11 android:layout_centerInParent="true" 12 /> 13 14 </RelativeLayout>
1 public class AlphaAnimation_Activity extends Activity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_alpha_animation_); 7 //获取到要设置动画的控件 8 ImageView iv = (ImageView) findViewById(R.id.img_Alpha); 9 //获取动画文件 10 Animation animation = AnimationUtils.loadAnimation(this,R.anim.animation); 11 //清除之前的动画 12 iv.clearAnimation(); 13 //开始动画 14 iv.startAnimation(animation); 15 } 16 }
使用java的方式来设置动画属性
1 public class javaAlpha_Activity extends Activity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_java_alpha_); 7 ImageView img = (ImageView) findViewById(R.id.img_Alpha_java); 8 //使用java代码实现也非常简单,直接设置一个Animation类的对象就可以了 9 //AlphaAnimation 是Animation的子类 10 //在构造函数中设置他的初始状态fromAlpha和最终状态toAlpha,是float类型 11 Animation animation = new AlphaAnimation(0.1f,1.0f); 12 //设置持续时间 13 animation.setDuration(2000); 14 //设置重复次数 15 animation.setRepeatCount(3); 16 //清除原有的动画,避免多次点击出现重复的效果 17 img.clearAnimation(); 18 //开始执行动画 19 img.startAnimation(animation); 20 } 21 }
补间动画(TweenAnimation):补间动画就是确定了动画的启始和终点两个端点状态之后,由系统自动计算中间的各个状态,并补充到两个端点之间,形成一个连续的动画效果。
补间动画可以分为4种类型:
渐变动画(AlphaAnimation)
缩放动画 (scaleAnimation)
平移动画(TranslateAnimation)
旋转动画(RotateAnimation)
这几种动画都可以用xml文件和java代码的方式实现,
渐变动画xml实现方式:
1.在res目录下创建文件夹anim
2.在anim文件夹下创建animation.xml动画文件
3.在animation.xml中描述某种动画的属性
4.在java代码中用AnimationUtils.loadAnimation方法加载动画
5.使用View的startAnimation方法启动动画
渐变动画效果:可以演示一个视图在透明度上的渐变效果。
主要属性:
FromAlpha:动画启始透明度,取值在0.0-1.0之间
toAlpha:动画结束时透明度,取值在0.0-1.0之间
duration:动画从开始到结束的持续时间以毫秒做单位
repeatCount :动画的重复次数,不包括第一次播放
转载于:https://www.cnblogs.com/androidLearn/p/5212798.html
Android学习—补间动画(渐变动画)相关推荐
- Android—逐帧、补间、属性动画
1.Tween Animation 补间动画 这类动画比较简单,一般就是平移.缩放.旋转.透明度,或者其组合,可以用代码或者xml文件的形式,推荐使用xml文件形式,因为可以复用. 四个动画效果实现类 ...
- 【Android】补间动画用法最全详解
本文目录 补间动画概述和分类 各类补间动画实现 xml实现补间动画 透明度动画-AlphaAnimation 缩放动画-ScaleAnimation 位移动画-TranslateAnimation 旋 ...
- Android Studio补间动画
补间动画是给出初始位置和结束位置,中间由系统自动补充的动画 补间动画的配置文件:scale.xml 布局文件:animal_patching.xml main.java sacle.xml <? ...
- 系统学习iOS动画 —— 渐变动画
这个是希望达成的效果: 先创建需要的控件: class ViewController: UIViewController {let timeLabel = UILabel()override func ...
- Android学习笔记进阶十一图片动画播放(AnimationDrawable)
大家平时见到的最多的可能就是Frame动画了,Android中当然也少不了它.它的使用更加简单,只需要创建一个 AnimationDrawabledF对象来表示Frame动画,然后通过addFrame ...
- Android学习笔记——用ObjectAnimator平移动画仿微信表情雨的简单实现
最近需要实现类似微信聊天界面输入文字命中关键字出现Emoji 表情雨的动画效果,自己试着实现了一下,主要就是用 ObjectAnimatior 的 平移 动画,用随机函数控制每个Emoji 的 横,纵 ...
- android 实现View的背景色渐变动画
在安卓里面,动画的背景色渐变(比如又红色变为蓝色)是依靠属性动画来完成的,属性动画大部分情况下是来实现View的运动动画的,因为View的背景也是View的属性之一,所以属性动画自然也就可以让view ...
- Android studio 动画---补间动画
1.新建文件.[注意:文件名只能命名为anim] 2.新建文件 3.在新建的文件中添加代码:[以下代码仅供参考] 3.1.改变动画的透明度: <?xml version="1.0&qu ...
- Android帧动画和补间动画
目录 1.帧动画 (帧动画的资源文件,放在drawable文件夹下) 1.创建一个项目 2.导入资源, 将图片资源放入 mipmap 文件夹下 3.编写资源文件 在drawable文件夹创建 4.在x ...
最新文章
- SpringBoot项目优化和Jvm调优(楼主亲测,真实有效)
- WPF 中如何使用第三方控件 ,可以使用WindowsFormsHost 类
- Python学习:字典
- stk在计算机仿真中的应用_浅析仿真技术在激光系统设计中的应用
- Insider Dev Tour 2019巡演中国站
- 又拍云 php5月18号那,又拍云文档中心
- 达摩院里的女Leader,一面温柔似水一面灿烂如阳
- (数据库系统概论|王珊)第六章关系数据理论-第一节:为什么要研究关系数据理论
- Knowledge Distillation | 知识蒸馏经典解读
- promise实现红绿灯
- 模拟猜数(POJ2328)
- sendRedirect的路径
- 任我行打印服务器显示,任我行终极打印
- 【Qt】运行报错Could not create directory “E:\xxxx-Debug“
- JAVA字符编码:Unicode,GBK,GB2312,UTF-8
- 学习 慕课网【 PHP工程师计划】
- 将你的Android平板电脑变为笔记本电脑方法
- unity 编辑器软件报错 相关
- 8421码、5421码、2421码、余3码的学习及转换。
- Linux中正则表达式详细命令及代码(附实验笔记)