android 学习随笔二十四(动画:帧动画)

  • 帧动画,一张张图片不断的切换,形成动画效果
  • * 在drawable目录下定义xml文件,子节点为animation-list,在这里定义要显示的图片和每张图片的显示时长

    * FrameAnimation
    * 多张图片快速切换,形成动画效果
    * drawable文件夹不放图片,只放资源文件
    * ImageView显示图片可以设置内容(src),也可以设置背景(background)

    <?xml version="1.0" encoding="utf-8"?>
    <animation-list xmlns:android="http://schemas.android.com/apk/res/android"
        android:oneshot="false">
        <item android:drawable="@drawable/g1" android:duration="200" />
        <item android:drawable="@drawable/g2" android:duration="200" />
        <item android:drawable="@drawable/g3" android:duration="200" />
        <item android:drawable="@drawable/g4" android:duration="200" />
        <item android:drawable="@drawable/g5" android:duration="200" />
        <item android:drawable="@drawable/g6" android:duration="300" />
        <item android:drawable="@drawable/g7" android:duration="300" />
        <item android:drawable="@drawable/g8" android:duration="300" />
        <item android:drawable="@drawable/g9" android:duration="200" />
        <item android:drawable="@drawable/g10" android:duration="200" />
        <item android:drawable="@drawable/g11" android:duration="200" />
    </animation-list>
    plusstolensee

    <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">

    <item android:drawable="@drawable/g1" android:duration="200" />
    <item android:drawable="@drawable/g2" android:duration="200" />
    <item android:drawable="@drawable/g3" android:duration="200" />
    </animation-list>
    * 在屏幕上播放帧动画

    ImageView iv = (ImageView) findViewById(R.id.iv);
    //把动画文件设置为imageView的背景
    iv.setBackgroundResource(R.drawable.animations);
    AnimationDrawable ad = (AnimationDrawable) iv.getBackground();
    //播放动画
    ad.start();

    package com.itheima.frameanimation;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.graphics.drawable.AnimationDrawable;
    import android.view.Menu;
    import android.widget.ImageView;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
             ImageView rocketImage = (ImageView) findViewById(R.id.iv);
             //设置iv的背景图
             rocketImage.setBackgroundResource(R.drawable.plusstolensee);
             //获取iv的背景
             AnimationDrawable rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
             //开始播放
             rocketAnimation.start();
        }
    
    
    }
    MainActivity
    <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"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >
    
        <ImageView
            android:id="@+id/iv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            />
    
    </RelativeLayout>
    activity_main

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值