安卓动画代码实现
2015-05-21 21:00
78 查看
在设计中为了实现各种各样的效果,会经常使用到安卓的效果动画,今天把这些知识梳理汇总了一下,分享给大家
QQ学习交流群:66295909 欢迎你的加入,让我们一起进步
1. AlphaAnimation (透明度动画)
2. RotateAnimation (旋转动画)
3. ScaleAnimation(缩放动画)
4. TranslateAnimation(位移动画)
5. AnimationSet (多组动画)
6. Frame动画(帧动画)
7.常用方法
好了,关于安卓代码创建这些基本的动画就说到这,希望可以帮到大家!
转载请注明地址:/article/10706587.html
QQ学习交流群:66295909 欢迎你的加入,让我们一起进步
QQ学习交流群:66295909 欢迎你的加入,让我们一起进步
1. AlphaAnimation (透明度动画)
RelativeLayout rl_splash = (RelativeLayout) findViewById(R.id.rl_splash); //播放动画效果 AlphaAnimation animation = new AlphaAnimation(1.0f, 0.0f); animation.setDuration(2000); //设置Alpha动画的持续时间 rl_splash.setAnimation(animation); //播放Alpha动画
2. RotateAnimation (旋转动画)
//相对于自身的哪个位置旋转,这里是相对于自身的右下角 RotateAnimation ra = new RotateAnimation(0, 360, //从哪旋转,旋转多少度 Animation.RELATIVE_TO_SELF, 1.0f, Animation.RELATIVE_TO_SELF, 1.0f); ra.setDuration(800); //设置动画时间 ra.setRepeatCount(Animation.INFINITE); //设置动画重复次数,Animation.INFINITE(-1)表示无限次,源码里面只要设定值小于0,都表示无限次循环 ra.setRepeatMode(Animation.RESTART); //设置重复的模式 //RESTART:重新从头开始执行。 //REVERSE:反方向执行。 iv_scan.startAnimation(ra);
3. ScaleAnimation(缩放动画)
ScaleAnimation(float fromX, float toX, float fromY, float toY) //缩放动画的构造函数 分别是XY尺寸的缩放因子0f~1f
4. TranslateAnimation(位移动画)
//位移动画的构造函数 1 TranslateAnimation(float fromXDelta, floattoXDelta, float fromYDelta, float toYDelta) //这个是我们最常用的一个构造方法, //float fromXDelta:这个参数表示动画开始的点离当前View X坐标上的差值; //float toXDelta, 这个参数表示动画结束的点离当前View X坐标上的差值; //float fromYDelta, 这个参数表示动画开始的点离当前View Y坐标上的差值; //float toYDelta)这个参数表示动画开始的点离当前View Y坐标上的差值; //如果view在A(x,y)点 那么动画就是从B点(x+fromXDelta, y+fromYDelta)点移动到C点(x+toXDelta,y+toYDelta)点. //位移动画的构造函数 2 TranslateAnimation(int fromXType, float fromXValue, int toXType, float toXValue, int fromYType, float fromYValue, int toYType, float toYValue) //fromXType:第一个参数是x轴方向的值的参照(Animation.ABSOLUTE,Animation.RELATIVE_TO_SELF,or Animation.RELATIVE_TO_PARENT); //fromXValue:第二个参数是第一个参数类型的起始值; //toXType,toXValue:第三个参数与第四个参数是x轴方向的终点参照与对应值; //后面四个参数就不用解释了。如果全部选择Animation.ABSOLUTE,其实就是第二个构造函数。 //以x轴为例介绍参照与对应值的关系: //如果选择参照为Animation.ABSOLUTE,那么对应的值应该是具体的坐标值,比如100到300,指绝对的屏幕像素单 //如果选择参照为Animation.RELATIVE_TO_SELF或者Animation.RELATIVE_TO_PARENT指的是相对于自身或父控件,对应值应该理解为相对于自身或者父控件的几倍或百分之多少。多试参数就明白了。
5. AnimationSet (多组动画)
ScaleAnimation sa = new ScaleAnimation(0.2f, 1.0f, 0.4f,1.0f);//缩放的动画效果,1.0f就代表窗体的总宽或者高 sa.setDuration(400); TranslateAnimation ta = new TranslateAnimation(//位移动的动画效果 Animation.RELATIVE_TO_SELF, 0,//指定这个位置是相对于谁 Animation.RELATIVE_TO_SELF, 0.1f, Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0); ta.setDuration(300); AnimationSet set = new AnimationSet(false);//如果想播放多种动画的组合,这里就要用到了AnimationSet set.addAnimation(sa); set.addAnimation(ta); contentView.startAnimation(set); // 播放一组动画.
6. Frame动画(帧动画)
AnimationDrawable ad = new AnimationDrawable(); //构造动画对象 ad.addFrame(frame, duration)//设置每一帧的资源和时间 image.setImageDrawable(ad); //将上边建的Frame动画通过背景资源设置给图片 if (!ad.isRunning()) { ad.start(); //播放 } //当然这种动画也可以通过xml文件的方式实现,我们主要讲解代码创建动画,这里就不过多说了
7.常用方法
animation.setDuration(800); //设置动画时间 animation.setRepeatCount(Animation.INFINITE); //设置动画重复次数,Animation.INFINITE(-1)表示无限次,源码里面只要设定值小于0,都表示无限次循环 animation.setRepeatMode(Animation.RESTART); //设置重复的模式 animation.setFillAfter(true); //保持动画播放完成后的状态 animation.setInterpolator(new LinearInterpolator());//指定动画的运行效果,效果参考下面的对象 Interpolator //定义了动画的变化速度,可以实现匀速、正加速、负加速、无规则变加速度 AccelerateDecelerateInterpolator//延迟减速,在动作执行到中间的时候才执行该特效。 AccelerateInterpolator//会使慢慢以(float)的参数降低速度。 LinearInterpolator//平稳不变的 DecelerateInterpolator//在中间加速,两头慢 CycleInterpolator//曲线运动特效,要传递float型的参数。
好了,关于安卓代码创建这些基本的动画就说到这,希望可以帮到大家!
转载请注明地址:/article/10706587.html
QQ学习交流群:66295909 欢迎你的加入,让我们一起进步
相关文章推荐
- 安卓开发20:动画之Animation 详细使用-主要通过java代码实现动画效果
- 安卓开发20:动画之Animation 详细使用-主要通过java代码实现动画效果
- 安卓开发20:动画之Animation 详细使用-主要通过java代码实现动画效果
- 安卓开发20:动画之Animation 详细使用-主要通过java代码实现动画效果
- PHP生成Flash动画的实现代码
- jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
- 【安卓-动画】使用ObjectAnimator实现ArcMenu动画效果
- android开发游记:通过xml配置快速实现点击热点效果和渐变动画(不用java代码)
- 安卓开发文件缓存方法的具体实现(参考代码)
- 安卓项目之淘忆2.0的代码实现之用户登录功能
- 安卓动画为了,写购物车动画,搜集的安卓动画的代码
- Android GridView实现动画效果实现代码
- iOS第三方库Eureka实现定制动画详解(三):Eureka的代码布局
- 安卓开发基础之动画(二)帧动画效果的实现
- JS实现从顶部下拉显示的带动画QQ客服特效代码
- 安卓手机下拉状态栏的代码实现
- Android使用Rotate3dAnimation实现3D旋转动画效果的实例代码
- 实现android布局的左右拖动及动画效果的代码范例
- 自定义控件三部曲之动画篇(九)——联合动画的代码实现
- 属性动画步骤总结——包含xml实现与java代码实现