`
yunshangbuhe
  • 浏览: 229923 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 播放gif

阅读更多
在Android 中是不支持直接使用Gif 图片关联播放帧动画,如下动画在Android 中是无法播放的:



Android 提供了另外一种解决的办法,就是使用AnimationDrawable 这一函数使其支持逐帧播放,但是如何把gif 图片打散开来,成为每一帧的图片呢?下面介绍两种比较不错的软件,可以帮我们打散图片。

gifsplitter2.0

下载地址:gif分割

使用方法如下:









这一软件分割图片都是bmp图片,图片比较大,这里不推荐使用,尽量节省不必要的字节,所以这里推荐使用如下 软件

easygifanimator

软件下载:动画分割器

使用方法如下:









点击文件将帧文件导出即可



得到了帧文件后我们可以就编写代码,在res目录下新建anim动画文件夹,写下如下代码



<?xml version="1.0" encoding="UTF-8"?>
<animation-list android:oneshot="false"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:duration="150" android:drawable="@drawable/xiu0" />
    <item android:duration="150" android:drawable="@drawable/xiu1" />
    <item android:duration="150" android:drawable="@drawable/xiu2" />
    <item android:duration="150" android:drawable="@drawable/xiu3" />
</animation-list>


对应的item 为顺序的图片从开始到结束,duration为每张逐帧播放间隔,oneshot 为false 代表循环播放,设置为true 即播放一次即停止。

对应Activity 代码如下编写:




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

public class animActivity extends Activity implements OnClickListener {
    ImageView iv = null;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        iv = (ImageView) findViewById(R.id.ImageView01);
        iv.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        AnimationDrawable anim = null;
        Object ob = iv.getBackground();
        anim = (AnimationDrawable) ob;
        anim.stop();
        anim.start();
    }
}


使用AnimationDrawable 对象获得图片的图片,然后指定这个AnimationDrawable 开始播放动画

Tip:使用此方法不会默认播放,必须要有事件触发才可播放动画,如上面的通过点击监听触发动画的播放



那么如何使用图片自动播放呢?我们可以联想一下,ProgressBar 是不是默认的时候就会转,那就是那个圆形的进度条,是的。我们可以对它进行改造合它也可以自动播放,在Values 文件下新建一个styles 文件,编写如下代码 :



<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <style name="animStyle" parent="@android:style/Widget.ProgressBar.Large">
        <item name="android:indeterminateDrawable">@anim/test</item>
    </style>
</resources>


上面样式文件自Widget.ProgressBar.Large 为其设置动画文件,我们在XML中就可以通过设置它的样式使其为我们工作



    <ProgressBar android:id="@+id/ProgressBar01" style="@style/animStyle"
        android:layout_width="128px" android:layout_height="128px"></ProgressBar>


OK,就是这么简单,下面看看运行效果:





源码下载:Demo

来源:http://www.cnblogs.com/TerryBlog/archive/2010/09/06/1819641.html


分享到:
评论

相关推荐

    Android播放GIF动画源码

    本示例项目“TestGIFDemo”旨在演示如何在Android应用中播放GIF动画,这主要涉及到以下几个核心知识点: 1. **GIF格式理解**:GIF是一种流行的动画图像格式,它支持透明度和循环播放,特别适合于制作简单的动态效果...

    Android 播放Gif 动画

    在Android平台上,播放Gif动画是一项常见的需求,无论是加载指示器、按钮反馈还是其他动态展示效果,Gif图像都能提供丰富的视觉体验。本篇将详细探讨如何在Android应用中实现Gif动画的播放。 首先,我们需要理解Gif...

    一个Android播放gif的Demo

    总结,这个Demo是关于如何在Android平台上实现GIF播放功能的一个实例,涉及到了Android图像处理、内存管理、线程同步、自定义View等多个知识点。通过研究这个Demo,开发者可以学习到如何在实际项目中集成GIF播放功能...

    android播放gif

    2. Picasso库:Picasso虽然主要针对静态图片,但通过添加一个叫做“NineOldAndroids”的库,也可以实现GIF播放。不过,这需要额外的配置和定制。 3. 自定义View:如果你不想依赖外部库,可以创建一个自定义的...

    android播放gif文件

    在Android平台上,播放GIF文件是一项常见的需求,无论是用于加载动图资源,还是...`GifViewDemo1`项目很可能是对这一过程的一个具体实现,通过学习和分析这个示例,你可以更深入地理解Android中GIF播放的原理和实践。

    Android 播放Gif图片动画【源代码】.rar

    Android 播放Gif图片动画【源代码】,在Android 中是不支持直接使用Gif 图片关联播放帧动画,Android 提供了另外一种解决的办法,就是使用AnimationDrawable 这一函数使其支持逐帧播放,我们使用一款动画分割软件...

    android播放gif动画

    6. **生命周期管理**:在Activity或Fragment的生命周期中适当地管理GIF播放,比如在onPause()停止动画,在onResume()恢复。对于自定义View,还需要关注onStart()、onStop()等方法。 7. **内存和磁盘缓存**:为了...

    android播放gif图片动画

    3. **封装的jar包**:描述中提到的"已经封装好jar包可以直接使用"可能是指特定的GIF播放库,这类库通常会提供更简单的API,使得开发者无需关心底层实现,只需要调用几个方法就能实现GIF动画的播放。比如`GifDrawable...

    android播放gif图片

    在Android平台上,播放GIF图片是一项常见的需求,无论是用于加载动画、表情符号还是其他动态展示。本示例将深入探讨如何在Android应用中实现这一功能,以帮助开发者更好地理解和运用。 首先,我们要知道GIF是一种...

    android 播放gif文件

    - **NineOldAndroids**: 这个库主要用于兼容Android 2.x版本,但它不直接支持GIF播放。你可以结合`GifDrawable`或者`GifImageView`来实现。 - **Glide**: 这是一个流行的图片加载库,它可以方便地加载和播放GIF。...

    Android播放Gif动画[收集].pdf

    在Android平台上,由于系统本身并不直接支持Gif动画的播放,开发者需要采取一些变通的方法来实现这一功能。本文将详细介绍如何在Android应用中播放Gif动画。 首先,我们需要了解Android系统为什么不直接支持Gif动画...

    android 播放gif源码

    在Android平台上,由于系统本身并不直接支持通过标准的ImageView组件来播放GIF动画,因此开发者需要采用特定的方式来实现这一功能。本节将深入探讨如何在Android应用中播放GIF源码,包括解析GIF文件、帧动画处理以及...

    Android 播放gif图片

    Android的原生控件并不支持播放GIF格式的图片。我们都知道,在Android中如果想要显示一张图片,可以借助ImageView控件来完成,但是如果将一张GIF图片设置到ImageView里,它只会显示这张图片的第一帧,不会产生任何的...

    Android播放Gif图片

    总之,Android平台虽然在早期版本中对Gif支持不足,但通过第三方库和API 24以上的新特性,开发者可以方便地在应用中实现Gif播放。同时,要注意性能优化和生命周期管理,以提供流畅且高效的用户体验。

    android 播放gif图片DEMO

    5. **Activity与生命周期**:在DEMO的主Activity中,会初始化GIF视图,加载GIF资源,并在适当的时候启动GIF播放。需要注意Activity的生命周期方法,如`onCreate()`、`onStart()`和`onResume()`,确保在正确的时间...

    android播放gif工具类方法汇总

    非常方便的andorid播放gif借鉴与总结汇总。具体如下:1.一组图片方便的以gif形式播放;2.轻量的webview结合html播放gif;3小巧的第三方库播放gif;4强大的github上jni方式播放gif

    gifview android 播放gif动画

    然而,Android原生的ImageView并不支持直接播放GIF动画,因此需要借助第三方库来实现这个功能。本篇文章将详细讲解如何在Android应用中使用`GifView`库来播放GIF动画。 `GifView`是一个专为Android设计的库,用于在...

Global site tag (gtag.js) - Google Analytics