gif-drawable的使用及詳解

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

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

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

最近研究了一下圖片發現這個控件仍是不錯的。因此給你們分享一下。eclipse

一、解壓文件ide

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

二、添加文件到libs目錄下動畫

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

添加到libs文件目錄下idea

咱們的環境就搭建完成了。spa

三、寫佈局文件

代碼:

<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圖片就已經能夠顯示了。

四、進階:控制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文件下的版本

還有多是資源圖片須要換成你我的的文件。

要是還有問題能夠留言的

相關文章
相關標籤/搜索