android中加载Gif图片
2016-09-28 12:45
525 查看
很多时候由于项目的需要,我们需要加载Gif的图片,实现动画效果,但是android本身并不支持直接加载Gif图片。因此网络上出现了很多关于android加载Gif图片的框架。今天在这里就为大家介绍其中的两个框架,一个是Xutils3.0,一个是android-gif-drawable的开源库。其中使用Xutils会出现适配的问题。所以这里不推荐在项目使用。
注:使用Xutils时需要在BaseApplication进行初始化x.Ext.init(this);
附:源码下载地址
MainActivity.java public class MainActivity extends Activity implements View.OnClickListener { private Button mFirst;//使用android开源库加载 private Button mSecond;//使用xutils加载 private Context mContext; private Intent mIntent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this; initView(); } //初始化View private void initView() { mFirst = (Button) findViewById(R.id.btn_gif); mSecond = (Button) findViewById(R.id.btn_xutils); mFirst.setOnClickListener(this); mSecond.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_gif: mIntent = new Intent(mContext, GifImageViewActivity.class); startActivity(mIntent); break; case R.id.btn_xutils: mIntent = new Intent(mContext, XutilsActivity.class); startActivity(mIntent); break; } } }
GifImageViewActivity.java public class GifImageViewActivity extends Activity { private GifImageView mGifImageView;//显示Gif的GifImageView @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gif_imageview); initView(); } //初始化View private void initView() { mGifImageView = (GifImageView) findViewById(R.id.imageView); //gif 代码控制播放速度 try { GifDrawable gifDrawable = new GifDrawable(getResources(), R.drawable.test); gifDrawable.setSpeed(0.6f); mGifImageView.setImageDrawable(gifDrawable); } catch (IOException e) { e.printStackTrace(); } } }
XutilsActivity.java public class XutilsActivity extends Activity { private ImageView mImageView;//显示gif的imageview @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_xutils); initView(); } //初始化View private void initView() { mImageView = (ImageView) findViewById(R.id.xutils_imageview); ImageOptions imageOptions = new ImageOptions.Builder() .setIgnoreGif(false)//是否忽略gif图。false表示不忽略。不写这句,默认是true .setImageScaleType(ImageView.ScaleType.FIT_CENTER) .build(); x.image().bind(mImageView, "assets://test.gif", imageOptions); } }
activity_gif_imageview.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:background="#ffffff" android:layout_height="match_parent"> <pl.droidsonroids.gif.GifImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true" android:scaleType="fitCenter" android:id="@+id/imageView" android:layout_marginRight="30dp" android:layout_marginLeft="30dp" android:layout_marginTop="30dp"/> </RelativeLayout>
注:使用Xutils时需要在BaseApplication进行初始化x.Ext.init(this);
附:源码下载地址
相关文章推荐
- 【Android Demo】加载.gif格式图片
- Android中加载Gif动画图片
- Android加载GIF图片的两种方式
- Android开发问题积累 <加载在线Gif><WebView无法加载网页图片>
- android加载gif图片
- 利用android开源库android-gif-drawable加载gif格式图片
- 最新Android Glide4.0加载Gif图片到ImageView
- android加载gif图片
- android webView加载gif图片并且居中显示
- android加载网络gif图片
- Android中加载Gif图片
- Android下加载GIF图片
- Android GIF图片加载显示
- Android加载Gif图片的一般方法:Movie实现
- 关于android加载Gif图片的方法
- Android 使用三方库android-gif-drawable 加载Gif图片
- 最新Android Glide4.0加载Gif图片到ImageView
- (原创)android加载GIF图片到地图(或者其他图层)中
- Android Gif 加载Video和图片
- Android开发问题积累 <加载在线Gif><WebView无法加载网页图片>