在 Android 中, Animation 动画效果的实现可以通过两种方式进行实现,一种是 tweened animation 渐变动画,另一种是 frame
by frame animation 画面转换动画,接下来eoe进行讲解。
tweened animation
渐变动画有以下两种类型:
1.alpha 渐变透明度动画效果
2.scale 渐变尺寸伸缩动画效果
frame
by frame animation
画面转换动画有以下两种类型:
1.translate 画面转换位置移动动画效果
2.rotate
画面转移旋转动画效果
在 res 文件夹下新建一个 anim 的文件夹,并在其中建立一个 animation.xml 文件,具体如下:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0" // 设置动画开始时 x 坐标的位置 android:toXDelta="-100%p" // 设置动画结束时 x 坐标的位置 android:duration="300" // 设置动画持续的时间 300 毫秒 > </translate> <alpha android:fromAlpha="1.0" // 设置动画开始时的透明度 1.0 代表不透明 android:toAlpha="0.0" // 设置动画开始时的透明度 0.0 表示完全透明 android:duration="300" // 设置动画持续的时间 300 毫秒 /> <scale android:interpolator=" // 设置动画出入器 @android:anim/accelerate_decelerate_interpolator" android:fromXScale="0.0" // 设置动画开始时 x 坐标上的伸缩长度 android:toXScale="1.4" // 设置动画结束时 x 坐标上的伸缩长度 android:fromYScale="0.0" // 设置动画开始时 y 坐标上的伸缩长度 android:toYScale="1.4" // 设置动画开始时 y 坐标上的伸缩长度 android:pivotX="50%" // 设置动画相对于控件的 x 坐标的位置 android:pivotY="50%" // 设置动画相对于控件的 y 坐标的位置 android:fillAfter="false" // 该动画转化在动画结束前开始应用 android:duration="700" // 设置动画持续的时间 /> <rotate android:interpolator= // 设置动画出入器 "@android:anim/accelerate_decelerate_interpolator" android:fromDegrees="0" // 设置动画开始时的角度 android:toDegrees="+350" // 设置动画结束时的旋转角度 android:pivotX="50%" // 设置动画相对于控件的 x 坐标的位置 android:pivotY="50%" // 设置动画相对于控件的 y 坐标的位置 android:duration="3000" // 设置动画持续的时间 /> </set>
利用 AnimationUtils.loadAnimation 将动画加载。
Animation animation; animation=AnimationUtils.loadAnimation(this, R.anim.animation); // 然后再想要实现动画效果的控件上通过使用 startAnimation() 方法进行添加。 // 编写动画对象,并且获取自定应的动画样式 animation=AnimationUtils.loadAnimation(this, R.anim.animation); spinner.setOnTouchListener(new Spinner.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub // 运行动画 animation v.startAnimation(animation); // 将 spinner 的可见性设置为不可见状态 v.setVisibility(View.INVISIBLE); return false; } });
android中设置Animation 动画效果的更多相关文章
-
Android中xml设置Animation动画效果详解
在 Android 中, Animation 动画效果的实现可以通过两种方式进行实现,一种是 tweened animation 渐变动画,另一种是 frame by frame animation ...
-
【Android 基础】Animation 动画介绍和实现
在前面PopupWindow 实现显示仿腾讯新闻底部弹出菜单有用到Animation动画效果来实现菜单的显示和隐藏,本文就来介绍下吧. 1.Animation 动画类型 Android的animati ...
-
Android中设置TextView的颜色setTextColor
tv.setTextColor(Color.parseColor("#FFFFFF")); tv.setTextColor(Color.WHITE); tv.setTextColo ...
-
Android中实现ListView圆角效果[转]
本文演示如何Android中实现ListView圆角效果. 无论是网站,还是APP,人们都爱看一些新颖的视图效果.直角看多了,就想看看圆角,这几年刮起了一阵阵的圆角设计风:CSS新标准纳入圆角元素,特 ...
-
模仿百度首页“元宵节汤圆”动图,并实现360&#176;不停旋转(CSS3的animation动画效果)
模仿百度首页“元宵节汤圆”动图,并实现360°不停旋转(CSS3的animation动画效果) 效果图: 切图地址: https://ss1.bdstatic.com/5eN1bjq8AAUYm2zg ...
-
jQuery中的渐变动画效果
jQuery中的渐变动画效果jQuery中的渐变动画效果
-
【转】Android中设置TextView的颜色setTextColor--代码中设置字体颜色
原文网址:http://www.cnblogs.com/myphoebe/archive/2012/01/06/2314728.html android中设置TextView的颜色有方法setText ...
-
【转】Android中设置TextView的颜色setTextColor
原文网址:http://www.cnblogs.com/myphoebe/archive/2012/01/06/2314728.html android中设置TextView的颜色有方法setText ...
-
Android Acitivy切换平移动画效果实现
1.在anim目录下新建anim文件夹,新建tran_in.xml和tran_out.xml分别表示下一页切换进入,和本页切换出去. 即in表示下一页向左平移,out表示同样向左平移至消失. tran ...
随机推荐
-
php 与 java 生成时间戳的区别
最近服务器有java却换到php环境,生成的时间戳转换成时间格式的出现异常,查询资料得知: PHP 的 time() 函数返回的结果是 Unix 时间戳,值的单位是秒:如:1463564861 Jav ...
-
获取在线APP的素材图片
1.打开iTunes,搜索并下载APP 2.打开下载的APP的路径 4.对ipa包进行解压 5.找到app,右键"显示包内容"进行查看 6.结果
-
hdu5322 Hope
设dp[n]为n个数字排列时候的答案,那么可以得到dp方程 dp[n]=Σdp[n-i]*c(n-1,i-1)*(i-1)!*i^2(1<=i<=n) 然后上式可以化成卷积形式,分治FFT ...
-
(poj)1806 Currency Exchange
题目链接:http://poj.org/problem?id=1860 Description Several currency exchange points are working in our ...
-
sqlcmd命令导入大容量的SQL本地文件至SQL server 2008
由于开发工作在测试环境,需要构造测试数据,经常遇到100+M大小的*.sql文件需要导入到测试库的情况,由于SSMS里对导入文件的大小有限制: 会出现上图的报错!上网查了下,超过80M的文件是不能在S ...
-
Google Guice学习
学习动力:公司项目使用 官方文档:https://github.com/google/guice/wiki/Motivation 学习阶段:入门 主要部份: 简介 Bindings方式 Scopes设 ...
-
uva1354 枚举二叉树
这题很难,这几天一直在想这题,最后看了汝佳大哥的代码才明白.贴上代码 // UVa1354 Mobile Computing // Rujia Liu #include<cstdio> # ...
-
Android 异步请求通用类
package com.example.demo1; import java.util.EventListener; public interface MyAsyncTaskListener exte ...
-
swift 学习- 17 -- 析构器
// 析构器 只适用与 类类型, 当一个类的实例被释放之前, 析构器会被立即调用, 析构器用关键字 deinit 来标示, 类似于构造器要用 init 来标示 // 析构过程原理 // Swift 会 ...
-
给OkHttp Client添加socks代理
Okhttp的使用没有httpClient广泛,网上关于Okhttp设置代理的方法很少,这篇文章完整介绍了需要注意的方方面面. 上一篇博客中介绍了socks代理的入口是创建java.net.Socke ...