下載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中可以顯示動態圖片的控件:GifImageView 、GifImageButton和GifTextView。當需要賦的圖像值是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這個控件,實際上是實現了Animatable 和 MediaPlayerControl這兩個接口。
所以可以通過以下方法來控制動畫:
-
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文件下的版本

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