Android中的补间动画

学了这么长时间的编程,但是一直懒得写博客,写总结,看到很多大神都喜欢总结!所以在此也模仿大神们,写写博客,总结总结自己所学的知识,以备查询!

Android中的动画应用也比较广泛,能够应用动画实现各种特效,在这里主要对补间动画和帧动画做一个小小的总结。

一、补间动画(英文名:Tween)

1、主要包括平移动画(TranslateAnimation)、缩放动画(ScaleAnimation)、透明度变化的动画(AlphaAnimation)、旋转动画(RotateAnimation),括号里的英文名为Android中封装的动画类,都是Animation的子类。在实际应用中,设置动画效果,以上几种动画可以单独使用,也可以联合起来使用。

2、使用示例(通过xml文件设置动画):

1)在xml文件中:添加一个ImageView作为设置效果的图片

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <ImageView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:src="@drawable/ic_launcher"
        android:id="@+id/iv"/>
</RelativeLayout>
2)在res文件夹下新建一个固定名字的文件夹anim,在文件夹中新建一个xml文件可以有如下五中选择:


<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:toXDelta="100"
        android:toYDelta="100" 
        android:duration="5000"
        android:repeatCount="5"/>
    <alpha
        android:duration="5000"
        android:fromAlpha="0.1"
        android:repeatCount="5"
        android:toAlpha="1.0" />
    <rotate 
        android:fromDegrees="0"
        android:toDegrees="360"
        android:duration="5000"
        android:repeatCount="5"/>
</set>
3)在Java代码中:首先获取ImageView,
<span style="white-space:pre">	</span>protected void onCreate(Bundle savedInstanceState) {
        <span style="white-space:pre">	</span>super.onCreate(savedInstanceState);
        <span style="white-space:pre">	</span>setContentView(R.layout.activity_main);
        
       <span style="white-space:pre">	</span> <span style="white-space:pre">	</span>iv = (ImageView) findViewById(R.id.iv);
        <span style="white-space:pre">	</span>animation = AnimationUtils.loadAnimation(this, R.anim.mset);
        <span style="white-space:pre">	</span>iv.setAnimation(animation);
    <span style="white-space:pre">	</span>}
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
//		ta.start();
//		sa.start();
//		aa.start();
//		ra.start();
		animation.start();
	}



4)以上第2)步也可以不通过xml文件布局动画也可以通过代码来创建动画,代码如下:

<span style="white-space:pre">	</span>protected void onCreate(Bundle savedInstanceState) {
        <span style="white-space:pre">	</span>super.onCreate(savedInstanceState);
        <span style="white-space:pre">	</span>setContentView(R.layout.activity_main);
        
        <span style="white-space:pre">	</span>iv = (ImageView) findViewById(R.id.iv);
       <span style="white-space:pre">	</span> <span style="white-space:pre">	</span>ta=new TranslateAnimation(0, 300, 0, 500);
        <span style="white-space:pre">	</span>ta.setDuration(5000);
        <span style="white-space:pre">	</span>ta.setRepeatCount(4);
        <span style="white-space:pre">	</span>iv.setAnimation(ta);
   <span style="white-space:pre">	</span> }
	protected void onResume() {
		super.onResume();
		ta.start();
	}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 补间动画是一种基于属性动画动画效果,它可以让视图在一段时间内平滑地从一种状态过渡到另一种状态。补间动画的实现方式比较简单,使用起来也比较灵活,可以用于实现各种动画效果。 补间动画可以对视图的位置、大小、透明度等属性进行动画效果的设置,常见的补间动画包括: 1. 透明度动画(AlphaAnimation):可以控制视图的透明度,让视图在一段时间内逐渐变得透明或不透明。 2. 位移动画(TranslateAnimation):可以控制视图在屏幕上的位置,让视图在一段时间内沿着指定的路径平移。 3. 缩放动画(ScaleAnimation):可以控制视图的大小,让视图在一段时间内逐渐变大或变小。 4. 旋转动画(RotateAnimation):可以控制视图的旋转角度,让视图在一段时间内沿着指定的轴线旋转。 使用补间动画需要先创建相应的动画对象,然后将动画对象与需要执行动画的视图进行绑定,最后启动动画。可以使用XML文件或代码来创建补间动画,下面是一个简单的代码示例: ```java // 创建透明度动画对象 AlphaAnimation alphaAnimation = new AlphaAnimation(0.0f, 1.0f); // 设置动画持续时间 alphaAnimation.setDuration(1000); // 设置动画重复次数 alphaAnimation.setRepeatCount(Animation.INFINITE); // 设置动画模式 alphaAnimation.setRepeatMode(Animation.REVERSE); // 将动画对象与视图进行绑定 view.startAnimation(alphaAnimation); ``` 在这个示例,我们创建了一个透明度动画对象,设置了动画持续时间为1000毫秒,重复次数为无限次,模式为反转模式,然后将动画对象与视图进行绑定,最后启动动画。这样就可以让视图在一段时间内逐渐变得透明或不透明,并且重复执行动画效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值