Android Frescoの使用
5129 ワード
依存をインポートする必要がある
//Fresco
//支持動図
//Fresco
compile 'com.facebook.fresco:fresco:+'
//支持動図
compile 'com.facebook.fresco:animated-gif:+'
layout
Activity Javaコードimport android.graphics.drawable.Animatable;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.controller.AbstractDraweeController;
import com.facebook.drawee.controller.BaseControllerListener;
import com.facebook.drawee.view.SimpleDraweeView;
import com.facebook.imagepipeline.image.ImageInfo;
import com.facebook.imagepipeline.request.ImageRequest;
import com.facebook.imagepipeline.request.ImageRequestBuilder;
public class MainActivity extends AppCompatActivity {
private SimpleDraweeView simple_drawee_view;
public static final String mImageUrl = "http://pic39.nipic.com/20140226/18071023_164300608000_2.jpg";
public static final String mErrorUrl = "http://pic39.nipic.com/20140226/18071023_1643006080dddd00_2.jpg";
public static final String mGifUrl = "http://img.zcool.cn/community/0139505792e5fc0000018c1bbb7271.gif";
public static final String mJpegUrl = "http://attach.foyuan.net/portal/201308/03/09/2013080309223742492.jpg";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Fresco
Fresco.initialize(this);
setContentView(R.layout.activity_main);
Uri uri = Uri.parse(mGifUrl);
simple_drawee_view = (SimpleDraweeView) findViewById(R.id.simple_drawee_view);
//
//simple_drawee_view.setImageURI(uri);
BaseControllerListener baseControllerListener = new BaseControllerListener() {
@Override
public void onFinalImageSet(String id, ImageInfo imageInfo, Animatable animatable) {
animatable.start();
}
@Override
public void onFailure(String id, Throwable throwable) {
Toast.makeText(MainActivity.this, " ", Toast.LENGTH_SHORT).show();
}
};
//
ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithSource(uri)
// jpeg ( )
.setProgressiveRenderingEnabled(true)
.build();
//
AbstractDraweeController controller = Fresco.newDraweeControllerBuilder()
.setImageRequest(imageRequest)
//
.setUri(uri)
// ( 4 )
.setTapToRetryEnabled(true)
//
.setAutoPlayAnimations(true)
//
.setControllerListener(baseControllerListener)
.setOldController(simple_drawee_view.getController())
.build();
simple_drawee_view.setController(controller);
}
}
Frescoロードピクチャ
compile 'com.facebook.fresco:fresco:+'
Frescoはgifをサポート
compile 'com.facebook.fresco:animated-gif:+'