gif-drawable的使用及詳解


下載gif-drawable包和Demo的鏈接:http://pan.baidu.com/s/1eQxVKRo

本帖原創,轉載的朋友請注明轉載地址》:http://www.cnblogs.com/zxxiaoxia/

    好久沒有寫博客了,今天來更新一下。

最近研究了一下圖片發現這個控件還是不錯的。所以給大家分享一下。

1、解壓文件

將文件解壓會發現有這樣一系列的文件

2、添加文件到libs目錄下

然后在eclipse或者idea(Android studio也是一樣的)建一個工程,將這些文件導入進去。

添加到libs文件目錄下

我們的環境就搭建完成了。

3、寫布局文件

代碼:

<pl.droidsonroids.gif.GifImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/src_anim"
    android:background="@drawable/bg_anim"
    />

這里多說一下,gif-Drawable一共提供了3中可以顯示動態圖片的控件:GifImageViewGifImageButtonGifTextView。當需要賦的圖像值是gif格式的圖片的時候,會顯示動態圖片,如果是普通的靜態圖片,例如是png,jpg的,這個時候,gifImageView等這些控件的效果和ImageView是一樣的。也就是說gif-drawable比ImageView更強大。

這里是GIFTextView的示例:

<pl.droidsonroids.gif.GifTextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:drawableTop="@drawable/left_anim"
    android:drawableStart="@drawable/left_anim"
    android:background="@drawable/bg_anim"
    />

 這時候運行一下gif圖片就已經可以顯示了。

4、進階:控制gif圖片,停止播放動態圖和開始動態圖

gif-drawable這個控件,實際上是實現了AnimatableMediaPlayerControl這兩個接口。

所以可以通過以下方法來控制動畫:

  • stop() - 停止動畫

  • start() - 開始動畫

  • isRunning() - 判斷動畫是否在播放狀態

  • reset() -重置動畫

  • setSpeed(float factor) - 設置新動畫播放速度 例如setSpeed(2.0f),動畫會以二倍的速度進行播放

  • getDuration() - 返回動畫播放的時間

其實控制gif圖片和控制VideoView是一樣的,

下面是代碼示例:

/**
	 * 
	 * @author Sky
	 *
	 */
	@Override
    protected void onCreate ( Bundle savedInstanceState )
    {
        super.onCreate( savedInstanceState );
        
        GifImageButton gib = new GifImageButton( this );
        setContentView( gib );
        gib.setImageResource( R.drawable.sample );
        //上的3行代碼也可以通過下面代碼實現,是同理的,通過布局來獲得空間
        //setContentView(R.layout.activity_main);
		//GifImageView gifImageView=(GifImageView) findViewById(R.id.gigImageview);
        
        //獲取控制器
        final MediaController mc = new MediaController( this );
        //將圖片放入媒體控制器中
        mc.setMediaPlayer( ( GifDrawable ) gib.getDrawable() );
        mc.setAnchorView( gib );
        //給圖片添加監聽,點擊就會顯示播放控件
        gib.setOnClickListener( new OnClickListener()
        {
            @Override
            public void onClick ( View v )
            {
                mc.show();
            }
        } );
    }

 

小提示:

有的朋友可能下了代碼之后會不能運行。

需要修改project.properties文件下的版本

還有可能是資源圖片需要換成你個人的文件。

要是還有問題可以留言的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM