为了账号安全,请及时绑定邮箱和手机立即绑定

浅谈Android动画

难度中级
时长31分
学习人数
综合评分9.60
146人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 旋转动画XML文件实现: <set...> <rotate android:duration="1000"//播放时间 android:fromDegrees="0"//起始角度 android:toDegress="+360"//结束角度 android:pivotX="50%"//缩放中心X轴 android:pivotY="50%"/>//缩放中心Y轴 </set>
    查看全部
  • 位移动画XML文件实现: <set...> <translate android:duration="1000"//播放时间 android:fromXDelta="10"//起始位置X轴 android:fromYDelta="10"//起始位置Y轴 android:toXDelta="100"//结束位置X轴 android:toYDelta="100"/>//结束位置Y轴 </set>
    查看全部
  • 缩放动画XML文件实现: <set....> <scale android:duration="2000"//时间 android:fillAfter="false"//是否记住上次播放所达到的大小 android:fromXScale="0.0"//起始的X轴大小 android:fromYScale="0.0"//起始的Y轴大小 android:interpolator="@android:anim/accelerate_decelerate_inter..."//播放时 的速度差值器--由快到慢... android:pivotX="50%"//缩放中心点的X轴 android:pivotY="50%"//缩放中心点的Y轴 android:toXScale="1.0"//结束大小 android:toYScale="1.0">//结束大小 </set>
    查看全部
  • 透明度动画XML实现方法: <set ...> <alpha android:duration="1000"//播放时间 android:fromAlpha="0.1"//起始透明度 android:toAlpha="1.0">//结束透明度 </set>
    查看全部
  • 从xml中加载一个动画 AnimationUtils.loadAnimation(this,R.anim.alpha);
    查看全部
  • FrameAnimation(逐帧动画) 就像动画本身的意思,一个动画由许多帧组成,这些帧连贯起来就成为一个流畅的动画。 我们需要在应用的drawable文件夹下创建 animation-list.xml 文件,使用animation-list对一个item标签集合进行分组,其中每一个item都使用drawable的属性来定义显示的图片,然后指定显示的时间(以毫秒为单位)。 ------------- 摘自评论: 最后的逐帧动画漏说了一点点啊~~。要 imageView.setImageResource(R.drawable.anim_list); AnimationDrawable animationDrawable = (AnimationDrawable) imageView.getDrawable(); animationDrawable.start(); 【imageView 就是图片】 这样才可以动起来。
    查看全部
  • LayoutAnimation(布局动画) 为View Groups添加动画 使用LayoutAnimationController 如图,给一个listView设置动画,使用了新的方法:setLayoutAnimation()。 setOrder(LayoutAnimationController.XXXX)是设置动画的顺序,例如 ORDER.RANDOM 表示一个随机的顺序。 listView就相当于一个View Groups,是一个容纳了很多View的(集合)视图组。然后我们通过布局动画把里面的每一个View依次按照布局动画的效果去播放。
    查看全部
  • 案例四(Activity切换动画): 就是指从一个Activity跳转到另一个Activity时的动画。 使用 overridePendingTransition方法。 传进的参数:第二个Activity进入时的动画,第一个Activity退出时的动画。(注意参数的顺序) 代码: Intent intent = new Intent( MainActivity.this, MainActivity2.class); startActivity(intent); overridePendingTransition(R.ainm.zoom_in, R.anim.zoom_out); 其中,R.ainm.zoom_in 和 R.anim.zoom_out 是我们自定义的动画。
    查看全部
  • 案例三(循环闪烁) 利用Animation的setRepeatCount、setRepeatMode来实现动画循环。 如图,采用代码实现: AlphaAnimation alphaAnimation = new Animation( 0.1f, 1.0f); alphaAnimation.setDuration(100); alphaAnimation.setRepeatCount(10); alphaAnimation.setRepeatMode((Animation.REVERSE); //倒序重复 image.startAnimation( alphaAnimation ); 如果想要正序重复,则将 REVERSE 改为 RESTART。
    查看全部
  • 案例二(续播2): 写一个动画集 AnimationSet,在其中定义动画A和B,为动画B设置startOffset,其值就是前一个动画播放所需的时间。这里所举的例子不采用监听器,而是在动画的配置文件中写好。如图,连续写上两个<alpha>动画,实现图片的由透明变为不透明,然后由不透明再变为透明的两个连续动画。代码: <alpha android:duration="3000" android:fromAlpha="0.2" android:toAlpha="1.0" /> <alpha android:duration="3000" android:fromAlpha="1.0" android:startOffset="3000" android:toAlpha="0.2" />
    查看全部
  • 组合动画 案例一(续播1): 两个动画A和B,先播放动画A,设置A的AnimationListener(会重写3个方法),当其中一个方法onAnimationEnd()触发,也就是当A播放完毕的时候,开始播放B。核心代码如下: Animation loadAnimation = AnimationUtils.loadAnimation( this, R.anim.translate ); image.startAnimation(loadAnimation); // 开启动画A Animation loadAnimation2 = AnimationUtils.loadAnimation( this, R.anim.rotate ); loadAnimation.setAnimationListener( new AnimationListener(){ // 继承三个方法,但只重写End方法 @Override public void onAnimationStart(Animation arg0){} @Override public void onAnimationRepeat(Animation arg0){} @Override public void onAnimationEnd(Animation arg0){image.startAnimation(loadAnimation2);}// 开启动画B });
    查看全部
  • 图中点击事件中采取加载配置文件的方式实现动画效果,只需两行代码: loadAnimation = AnimationUtils.loadAnimation( this , R.anim.scale ); //加载配置文件 image.startAnimation( loadAnimation ); // 启动动画 ------------ TranslateAnimation(位移动画) 1. fromXDelta, fromYDelta 分别是起始时的X、Y坐标。 2. toXDelta, toYDelta 分别是结束时的X、Y坐标。 只需知道起始和结束这两个点的位置,就可以实现位移动画的效果。 RotateAnimation(旋转动画) 1. fromDegrees 起始的角度 2. toDegrees 终止的角度 3. pivotX,pivotY 分别是旋转动画相对于x,y坐标的开始位置。
    查看全部
  • AlphaAnimation(透明度动画) 1. fromAlpha:动画起始时的透明度 2. toAlpha:动画终止时的透明度 0.0表示完全透明 1.0表示完全不透明 ScaleAnimation(缩放动画) 1. fromX,toX 分别是起始和结束时x坐标上的伸缩尺寸。 2. fromY,toY 分别是起始和结束时y坐标上的伸缩尺寸。 3. pivotX,pivotY分别是伸缩动画相对于 x,y 坐标开始的位置。 如图,Android自带很多插入器,实现动画的加速和减速效果。 图中的 pivotX,pivotY 都等于 50%,这个位置就是当前 ImageView 的中心点。如果 pivotX=0%, pivotY=100%,就是从 ImageView 的左下角开始缩放。依此类推。
    查看全部
  • Android基础动画 1. Tween Animation 变换动画 2. Frame Animation 帧动画 3. Layout Animation 布局动画 4. Property Animation 属性动画 Tween Animation(变换动画)在Android中又被分为四种: Alpha:渐变透明度动画 Scale:渐变尺寸缩放动画 Translate:位置移动动画 Rotate:旋转动画 Tween Animation共同属性: 1. Duration:动画持续时间(单位:毫秒) 2. fillAfter:设置为true,动画转化在动画结束后被应用 3. fillBefore:设置为true,动画转化在动画开始前被应用 4. interpolator:动画插入器(加速、减速插入器) 5. repeatCount:动画重复次数 6. repateMode:顺序重复/倒序重复 7. startOffset:动画之间的时间间隔 Animation实现方式有两种: 1. 配置文件(/res/anim)——alpha、scale、translate、rotate。更简单。 2. Java代码实现——AlphaAnimation、ScaleAnimation、TranAnimation、RotateAnimation。更灵活。 两种方式各有所长: 如果变换比较多,而且很多参数都是动态的(比如时间间隔、位移移动的坐标通过动态获取、动态计算),则推荐使用Java代码实现。 如果动画是一个固定的效果,则推荐使用配置文件的方式。 通过加载配置文件的方式实现动画: Animation scale = AnimationUtils.loadAnimation(TweenActivity.this,R.anim.scale_anim); //开始动画 img.startAnimation(scale); 如图,是通过Java代码实现动画。
    查看全部
  • 共同属性
    查看全部

举报

0/150
提交
取消
课程须知
本课程为基础课程: 1.基本掌握Android基础相关知识。 2.熟练掌握布局文件xml的使用 3.灵活应用xml中各个属性的用途
老师告诉你能学到什么?
1.动画效果概览 2.四种基础动画实现 3.各种特效实例的实现

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!