zoukankan      html  css  js  c++  java
  • Android显示GIF动画 GifView

    android中显示gif动画原生态一般支持的不是很好,故找了一个开源的项目,现简单介绍如下:

    GifView 是一个为了解决android中现在没有直接显示gif的view,只能通过mediaplay来显示这个问题的项目,其用法和 ImageView一样,支持gif图片
    问题:估计会出现OOM的问题,请大家思考如何避免OOM。
    使用方法:
    1-把GifView.jar加入你的项目。
    2-在xml中配置GifView的基本属性,GifView继承自View类,和Button、ImageView一样是一个UI控件。如:
    <com.ant.liao.GifView android:id="@+id/gif2"
    android:layout_height="wrap_content" android:layout_width="wrap_content"
    android:paddingTop="4px" android:paddingLeft="14px" android:enabled="false" />
    3-在代码中配置常用属性:
    // 从xml中得到GifView的句柄
    gf1 = (GifView) findViewById(R.id.gif1);
    // 设置Gif图片源
    gf1.setGifImage(R.drawable.gif1);
    // 添加监听器
    gf1.setOnClickListener(this);
    // 设置显示的大小,拉伸或者压缩
    gf1.setShowDimension(300, 300);
    // 设置加载方式:先加载后显示:
    GifImageType.WAIT_FINISH、边加载边显示:GifImageType.SYNC_DECODER、只显示第一帧再显示:GifImageType.COVER
    gf1.setGifImageType(GifImageType.COVER);
    GifView的Jar包共有四个类
    GifAction.java 观察者类,监视GIF是否加载成功
    GifFrame.java 里面三个成员:当前图片、延时、下张Frame的链接。
    GifDecoder.java 解码线程类
    GifView.java 主类,包括常用方法,如GifView构造方法、设置图片源、延迟、绘制等。
    附件DEMO+源码:

     GifViewDemo.rar (799.31 KB, 下载次数: 586)  src.rar (9.21 KB, 下载次数: 260) 

    改进:
    1.GifView怎么控制gif的播放速度?  --》》修改DrawThread中的SystemClock.sleep(10);

  • 相关阅读:
    游标cursor
    SQL: EXISTS
    LeetCode Reverse Integer
    LeetCode Same Tree
    LeetCode Maximum Depth of Binary Tree
    LeetCode 3Sum Closest
    LeetCode Linked List Cycle
    LeetCode Best Time to Buy and Sell Stock II
    LeetCode Balanced Binary Tree
    LeetCode Validate Binary Search Tree
  • 原文地址:https://www.cnblogs.com/android-blogs/p/5340046.html
Copyright © 2011-2022 走看看