DiskCacheConfig.Builder builder = DiskCacheConfig.newBuilder(this);
builder.setBaseDirectoryPath(getCacheDir());
DiskCacheConfig diskCacheConfig = builder.build();ImagePipelineConfig config = ImagePipelineConfig.newBuilder(this)
.setMainDiskCacheConfig(diskCacheConfig)
.build();
Fresco.initialize(this, config);
package com.bwie.day01;
import android.graphics.drawable.Animatable;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.controller.BaseControllerListener;
import com.facebook.drawee.controller.ControllerListener;
import com.facebook.drawee.drawable.ScalingUtils;
import com.facebook.drawee.generic.GenericDraweeHierarchy;
import com.facebook.drawee.generic.GenericDraweeHierarchyBuilder;
import com.facebook.drawee.generic.RoundingParams;
import com.facebook.drawee.interfaces.DraweeController;
import com.facebook.drawee.view.SimpleDraweeView;
import com.facebook.imagepipeline.image.ImageInfo;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class MainActivity extends AppCompatActivity {
@BindView(R.id.yi)
Button yi;
@BindView(R.id.er)
Button er;
@BindView(R.id.san)
Button san;
@BindView(R.id.si)
Button si;
private SimpleDraweeView simple;
//url资源:
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”;
private GenericDraweeHierarchyBuilder builder;
private RoundingParams parames;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
simple = findViewById(R.id.simpe);
simple.setImageURI(Uri.parse(mImageUrl));
}
@OnClick({R.id.yi, R.id.er, R.id.san, R.id.si})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.yi:
//圆形图片
builder = new GenericDraweeHierarchyBuilder(getResources());
parames = RoundingParams.asCircle();
GenericDraweeHierarchy roundness = builder.setRoundingParams(parames).build();
simple.setHierarchy(roundness);
simple.setImageURI(Uri.parse(mImageUrl));
break;
case R.id.er:
//圆角图片
parames = RoundingParams.fromCornersRadius(50f);
GenericDraweeHierarchy circularBead = builder.setRoundingParams(parames).build();
simple.setHierarchy(circularBead);
simple.setImageURI(Uri.parse(mImageUrl));
break;
case R.id.san:
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setUri(mGifUrl)
.setAutoPlayAnimations(false)
.build();
simple.setController(controller);
simple.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//拿到动画对象
Animatable animatableStart =simple.getController().getAnimatable();
//进行非空及是否动画在播放判断
if(animatableStart !=null&&!animatableStart.isRunning()) {
//动画停止播放,播放动画
animatableStart.start();
}else {
animatableStart.stop();
}
}
});
break;
case R.id.si:
simple.setAspectRatio(3.33f);
simple.setImageURI(Uri.parse(mImageUrl));
break;
}
}
}