Android中常用的动画

本文详细介绍了Android中的三种主要动画类型:属性动画、帧动画和补间动画。解释了它们的使用场景,并提供了创建这些动画的具体步骤及示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android中常用的动画包括属性动画,帧动画(frameAnimation,补间动画(Tween);

属性动画:AnimationSetAlphaAnimation,RotateAnimation,ScaleAnimation

帧动画:一组图片的浏览

Tween:用的比较少,没有真真改变图片的位置,而属性动画改变了


帧动画的使用:

1.drawable下建一个xml文件


<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="true"
    >
    <item android:drawable="@drawable/a"  android:duration="1000"></item>
    <item android:drawable="@drawable/b"  android:duration="1000"></item>
    <item android:drawable="@drawable/c"  android:duration="1000"></item>
    <item android:drawable="@drawable/d"  android:duration="1000"></item>
    <item android:drawable="@drawable/e"  android:duration="1000"></item>

</animation-list>



说明:1.默认情况下会一直播放,oneShot后只播放一次

<span style="white-space:pre"> </span>2.需要添加的条件:图片,持续的时间

2.找到图片控件,通过设置背景将Animation—list添加,并开始;注意有的时候需要执行条件


if(drawable.isRunning())(drawable.stop();drawable.start())
<pre name="code" class="html"> iv = (ImageView) findViewById(R.id.iv);
        iv.setImageResource(R.drawable.test);
        AnimationDrawable drawable= (AnimationDrawable) iv.getDrawable();
      drawable.start();


属性动画

<span style="font-size:12px;"> AnimationSet animationSet = new AnimationSet(false);
       
        AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1);
        alphaAnimation.setDuration(300);
        alphaAnimation.setFillAfter(true);
 
        RotateAnimation rotateAnimation = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        rotateAnimation.setDuration(300);
        rotateAnimation.setFillAfter(true);


        //缩放动画

      

  ScaleAnimation scaleAnimation = new ScaleAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        scaleAnimation.setFillAfter(true);
        scaleAnimation.setDuration(300);
 
        animationSet.addAnimation(alphaAnimation);
        animationSet.addAnimation(rotateAnimation);
 
        animationSet.addAnimation(scaleAnimation);

 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值