现在在做一个项目,要加载gif动图,查找了好多关于这方面的知识,终于解决了,为了下次能用的上,也为了能够帮助其他人,写下这篇博客。
- 布局代码如下:
<RelativeLayout
android:id="@+id/img_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:background="#FFF"
android:visibility="visible">
<ImageView
android:id="@+id/iv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:contentDescription="@null"
android:scaleType="centerCrop" />
<ImageView
android:id="@+id/iv_gif"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:contentDescription="@null"
android:src="@drawable/ic_play_gif"
android:visibility="gone" />
</RelativeLayout>
- 接下来就看看MainActivity中的代码了:
public class MainActivity extends Activity {
private ImageView iv;
private ImageView ivGif;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) findViewById(R.id.iv);
ivGif= (ImageView) findViewById(R.id.ivGif);
//初始化volley
ImageLoadProxy.initImageLoader(this);
if (url.endsWith(".gif")) {
ivGif.setVisibility(View.VISIBLE);
} else {
ivGif.setVisibility(View.GONE);
}
ImageLoadProxy.displayImage4Detail(url, iv, new SimpleImageLoadingListener(){
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
super.onLoadingComplete(imageUri, view, loadedImage);
//这里可以隐藏进度条哦
}
},
new ImageLoadingProgressListener() {
@Override
public void onProgressUpdate(String imageUri, View view, int current, int total) {
//可以显示进度条哦