[置顶] AndroidStudio中使用开源框架android-gif-drawable

ouyouchun 9年前

来自: http://blog.csdn.net/true100/article/details/50606040


 一般情况下,我们在Android项目中只能使用.png,.jpg等格式的静态图片,诸如.gif格式的动态图片是加载不了的。

有了android-gif-drawable这个开源框架,在项目中使用gif动态图片不再是问题。 android-gif-drawable的
开源地址是:https://github.com/koral–/android-gif-drawable。其主要作用就是可以展示gif格式的图片及动画,还可以对动画进行监听操作。开源库中封闭了GifImageView,GifImageButton,GifTextView等控件。和我们普通的ImageView,ImageButton,TextView使用方法基本一样,只要在布局文件中添加这些控件,然后就可以直接设置gif图片作为背景等。
首先在AndroidStudio中配置相关依赖库代码,在配置文件build.gradle文件中添加:

   dependencies {      compile fileTree(dir: 'libs', include: ['*.jar'])      compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.+'  } 

布局文件,以GifImageView和GifTextView为例:

<?xml version="1.0" encoding="utf-8"?>  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">        <pl.droidsonroids.gif.GifImageView  android:id="@+id/test_gif" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="15dp" />        <pl.droidsonroids.gif.GifTextView  android:layout_margin="15dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/test" android:text="这个TextView的背景好酷" android:textColor="#FFFFFF" />  </LinearLayout>

代码:

public class MainActivity extends AppCompatActivity {      private GifImageView test_gif;          @Override      protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.activity_main);          test_gif = (GifImageView) findViewById(R.id.test_gif);          //设置图片数据          test_gif.setImageResource(R.drawable.test);          final android.widget.MediaController mediaController = new android.widget.MediaController(this);          mediaController.setMediaPlayer((GifDrawable) test_gif.getDrawable());          test_gif.setOnClickListener(new View.OnClickListener() {              @Override              public void onClick(View v) {                  mediaController.show();                  Snackbar.make(test_gif, "可以点击哦", Snackbar.LENGTH_LONG).show();              }          });      }  }

其中项目中的图片是我在百度上随便找的一张gif格式 的图片,运行效果就是手机上有两张动态图片,其中一张上有文字“这个TextView的背景好酷”。