• 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
  • 相关阅读:
    Android消息机制(Handler)详述
    Android自定义组件-以饼状图并实现点击事件为例
    Markdown中tab的解析与4个空格 问题
    策略模式(Strategy)
    观察者模式(Observer)
    适配器模式(Adapter Class/Object)
    建造者模式(Builder)
    简单工厂模式、工厂方法模式、抽象工厂模式
    单例模式(Singleton)
    工具推荐:前后端一体化部署,效能提升开源“神器”
  • 原文地址:https://www.cnblogs.com/ecollab/p/5968845.html
Copyright © 2020-2023  润新知