使用imageview显示Gif图片

转载 2015年11月18日 14:16:44

步骤1:看一下这个工具类的实例代码:MyGifView.java

<pre name="code" class="java">import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Movie;
import android.util.AttributeSet;
import android.view.View;
 
public class MyGifView extends View{
private long movieStart;
private Movie movie;
    //此处必须重写该构造方法
public MyGifView(Context context,AttributeSet attributeSet) {
super(context,attributeSet);
//以文件流(InputStream)读取进gif图片资源
movie=Movie.decodeStream(getResources().openRawResource(R.drawable.keyboard));
}
 
@Override
protected void onDraw(Canvas canvas) {
long curTime=android.os.SystemClock.uptimeMillis();
//第一次播放
if (movieStart == 0) {
movieStart = curTime;
}
if (movie != null) {
int duraction = movie.duration();
int relTime = (int) ((curTime-movieStart)%duraction);
movie.setTime(relTime);
movie.draw(canvas, 0, 0);
//强制重绘
invalidate();
}
super.onDraw(canvas);
}
}



此工具类中,只做了2件事情。1,构造方法;2,重写了onDraw()方法。大家以后用的话,只需拷贝此类到你的工程下即可起作用。

步骤2:布局文件代码 activity_main.xml
<pre name="code" class="java"><LinearLayout 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" >
 
    <TextView 
       android:text="====Gif图片测试布局===="
        android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       />
    
     <com.example.showgifimage.MyGifView 
       android:id="@+id/iv"
       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:layout_margin="20dp"
       /> 
   
</LinearLayout>



布局文件中,注意的是:标签的设置 <com.example.showgifimage.MyGifView/>.
格式:包名+.类名
 
步骤3:主activity中调用
<pre name="code" class="java">public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}



    就这么轻松的把Gif图片显示了~~
                    

相关文章推荐

android中使用imageview显示Gif图片

http://blog.csdn.net/riyuegonghe/article/details/9283479 http://weavora.com/blog/2012/02/07/android...

自定义ImageView显示gif图片

  • 2014年05月08日 22:46
  • 3.66MB
  • 下载

自定义ImageView显示gif图片

/** * PowerImageView是一个经过扩展的ImageView,它不仅继承了ImageView原生的所有功能,还加入了播放GIF动画的功能。 * * @author guolin ...

可以播放GIF和显示圆形图片的自定义ImageView

本篇博客参考了郭神的 Android PowerImageView实现,可以播放动画的强大ImageView和鸿洋的Android BitmapShader 实战 实现圆形、圆角图片,做了一些修改和...
  • piglite
  • piglite
  • 2016年01月24日 16:27
  • 1307

Android之ImageView既能普通图片又能显示gif的方法

最近项目有个需求,就是GridView和Gallery中异步加载图片,图片加载时先显示加载进度的gif图片,加载完图片后再显示图片。Android默认是不支持gif格式图片的显示的,参考了网上的方法,...

Android 中使用ImageView实现播放Gif图片功能

概述最近在项目中遇到需要展示Gif图片的功能,我们知道原生ImageView是不支持播放Gif的,但是Android为我们提供了一个类可以实现该功能:android.graphics.Movie。...

可以播放gif图片的imageview

  • 2017年05月20日 16:30
  • 33.03MB
  • 下载

使用ImageView显示图片

  • 2012年05月07日 22:30
  • 522KB
  • 下载

自定义ImageView,显示gif,缩放拖拽

/** * */ package com.example.myimageview;import java.io.InputStream; import java.lang.reflect.Fie...

让ImageView可以使用gif的方法

在自己的包中添加MyGifView.java(直接复制,粘贴),读取gif资源在MyGifView中第20行读取: MyGifView.java: package com.zzw.testgi...
  • xzylx1
  • xzylx1
  • 2015年12月23日 16:50
  • 134
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用imageview显示Gif图片
举报原因:
原因补充:

(最多只允许输入30个字)