Android之AnimationDrawable简单模拟动态图_Android

Drawable animation可以加载Drawable资源实现帧动画。AnimationDrawable是实现Drawable animations的基本类。 

这里用AnimationDrawable 简单模拟动态图的实现。

fragment_main 布局文件 ----  只需要放一个 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"
  tools:context="com.yztc.frameanimation.MainActivity" >

  <ImageView
    android:id="@+id/iv_frame"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:background="@drawable/girl_and_boy" />

</RelativeLayout>

girl_and_boy 布局文件  ----  实现动画

推荐用XML文件的方法实现Drawable动画,不推荐在代码中实现。这种XML文件存放在工程中res/drawable/目录下。XML文件的指令(即属性)为动画播放的顺序和时间间隔。

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" >
  <!-- onshot 属性表示动画只执行一次 -->

  <!-- duration 表示持续时间 -->
  <item
    android:drawable="@drawable/girl_1"
    android:duration="200">
  </item>
  <item
    android:drawable="@drawable/girl_2"
    android:duration="200">
  </item>
  <item
    android:drawable="@drawable/girl_3"
    android:duration="200">
  </item>
  <item
    android:drawable="@drawable/girl_4"
    android:duration="200">
  </item>
  <item
    android:drawable="@drawable/girl_5"
    android:duration="300">
  </item>
  <item
    android:drawable="@drawable/girl_6"
    android:duration="400">
  </item>
  <item
    android:drawable="@drawable/girl_7"
    android:duration="500">
  </item>
  <item
    android:drawable="@drawable/girl_8"
    android:duration="400">
  </item>
  <item
    android:drawable="@drawable/girl_9"
    android:duration="300">
  </item>
  <item
    android:drawable="@drawable/girl_10"
    android:duration="200">
  </item>
  <item
    android:drawable="@drawable/girl_11"
    android:duration="200">
  </item>

</animation-list>

MainActivity 

package com.dragon.android.initgif;

import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.widget.ImageView;

public class MainActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_main);

    ImageView ivFrame = (ImageView) findViewById(R.id.iv_frame);
    // 得到一个动画图片
    AnimationDrawable background = (AnimationDrawable) ivFrame
        .getBackground();
    // 开始播放
    background.start();
    // 停止方法.
    // background.stop();
  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android
, AnimationDrawable
模拟动态图
android animation、android animationset、android setanimation、android animation类、android.animation包,以便于您获取更多的相关知识。

时间: 2024-11-08 19:19:20

Android之AnimationDrawable简单模拟动态图_Android的相关文章

线程-Android中用canvas如何绘制动态图?请大神速回,在线等!!

问题描述 Android中用canvas如何绘制动态图?请大神速回,在线等!! public class MyView extends View { private Paint paint; private int roundColor, roundProgressColor; private float roundWidth; private int style; private int process = 1; private Canvas mcanvas; private RectF ov

Android编程之简单计时器实现方法_Android

本文实例讲述了Android编程之简单计时器实现方法.分享给大家供大家参考,具体如下: 这里利用ContextMenu(上下文菜单),Chronometer实现简单计数器. Main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android

Android实现的简单蓝牙程序示例_Android

本文实例讲述了Android实现的简单蓝牙程序.分享给大家供大家参考,具体如下: 我将在这篇文章中介绍了的Android蓝牙程序.这个程序就是将实现把手机变做电脑PPT播放的遥控器:用音量加和音量减键来控制PPT页面的切换. 遥控器服务器端 首先,我们需要编写一个遥控器的服务器端(支持蓝牙的电脑)来接收手机端发出的信号.为了实现这个服务器端,我用到了一个叫做Bluecove(专门用来为蓝牙服务的!)的Java库. 以下是我的RemoteBluetoothServer类: public class

Android编程实现简单流量管理功能实例_Android

本文实例讲述了Android编程实现简单流量管理功能的方法.分享给大家供大家参考,具体如下: package cn.itcast.mobilesafe.ui; import java.util.List; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import

安卓(Android)开发之自定义饼状图_Android

先来看看效果图 先分析饼状图的构成,非常明显,饼状图就是一个又一个的扇形构成的,每个扇形都有不同的颜色,对应的有名字,数据和百分比. 经以上信息可以得出饼状图的最基本数据应包括:名字 数据值 百分比 对应的角度 颜色. 用户关心的数据 : 名字 数据值 百分比 需要程序计算的数据: 百分比 对应的角度 其中颜色这一项可以用户指   public class PieData { private String name; // 名字 private float value; // 数值 privat

Android使用音频信息绘制动态波纹_Android

在一些音乐类应用中, 经常会展示随着节奏上下起伏的波纹信息, 这些波纹形象地传达了声音信息, 可以提升用户体验, 那么是如何实现的呢? 可以使用Visualizer类获取当前播放的声音信息, 并绘制在画布上, 使用波纹展示即可. 我来讲解一下使用方法. 主要 (1) Visualizer类提取波纹信息的方式. (2) 应用动态权限管理的方法. (3) 分离自定义视图的展示和逻辑. 1. 基础准备 Android 6.0引入动态权限管理, 在这个项目中, 会使用系统的音频信息, 因此把权限管理引入

Android自定义控件实现简单写字板功能_Android

先来看看效果图 就是简单的根据手指写下的轨迹去画出内容 一.实现 之前一篇文章里提到了android官方给出的自定义控件需要考虑以下几点: 创建View 处理View的布局 绘制View 与用户进行交互 优化已定义的View 就按照这个步骤来完成今天的自定义控件 1.创建View上篇提到创建View这一步的时候要考虑的就是很简单的自定义属性的声明.使用. 今天的控件可以有一些什么自定义属性呢?要实现写字板,其实就是三个东西:写字板的颜色.笔的颜色.笔的粗细.所以接下来自定义属性. <?xml v

Android模糊处理简单实现毛玻璃效果_Android

自从iOS系统引入了Blur效果,也就是所谓的毛玻璃.模糊化效果.磨砂效果,各大系统就开始竞相模仿,这是怎样的一个效果呢,我们先来看一下,如下面的图片: 实现效果大家都知道了,如何在Android中实现呢,说白了就是对图片进行模糊化处理,小编先给大家讲一下Android高级模糊技术的原理,如下: 首先我创建了一个空的bitmap,把背景的一部分复制进去,之后我会对这个bitmap进行模糊处理并设置为TextView的背景. 通过这个bitmap保存Canvas的状态: 在父布局文件中把Canva

Android下录制App操作生成Gif动态图的全过程

Android App开发完了,自然希望录个gif做个展示.视频也可以做展示,但是需要上传到优酷.土豆等等,而且本来就十几秒的App演示操作过程,视频网站的广告就要一分钟,没有gif轻量简单省流量. 下图是我录制的一个短信消灭器应用的效果图: 本文教大家如何录制gif,分享给大家供大家参考,具体内容如下 思路 生成gif的思路是两步 1.把App操作过程录制成视频 2.根据视频转换成Gif 目前网上录制GIf的思路也基本都是分为这2步,不知道有没有更好的方法,一步就生成gif动态的? 利用adb