Android Frescoのパッケージ
4445 ワード
public class FrescoUtils {
/**
*
*
* @param url
* @param simpleDraweeView
*/
public static void showBasicPic(String url, SimpleDraweeView simpleDraweeView) {
Uri uri = Uri.parse(url);
simpleDraweeView.setImageURI(uri);
}
/**
*
*
* @param url
* @param simpleDraweeView
*/
public static void showProgressivePic(String url, SimpleDraweeView simpleDraweeView) {
Uri uri = Uri.parse(url);
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
.setProgressiveRenderingEnabled(true)
.build();
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(simpleDraweeView.getController())
.build();
simpleDraweeView.setController(controller);
}
/**
*
*
* @param url
* @param simpleDraweeView
* @param radius
* @param width
* @param color
*/
public static void showfilletPic(String url, SimpleDraweeView simpleDraweeView, float radius, float width, int color) {
Uri uri = Uri.parse(url);
RoundingParams roundingParams = RoundingParams.fromCornersRadius(0f);
if (width > 0) {
roundingParams.setBorder(color, width);//
}
roundingParams.setCornersRadius(radius);//
simpleDraweeView.getHierarchy().setRoundingParams(roundingParams);
simpleDraweeView.setImageURI(uri);
}
/**
*
* @param url
* @param simpleDraweeView
* @param topLeft
* @param topRight
* @param bottmLeft
* @param bottomRight
* @param width
* @param color
*/
public static void showYuanJiaoPic(String url, SimpleDraweeView simpleDraweeView, float topLeft, float topRight, float bottmLeft, float bottomRight, float width, int color) {
Uri uri = Uri.parse(url);
RoundingParams roundingParams = RoundingParams.fromCornersRadius(0f);
if (width > 0) {
roundingParams.setBorder(color, width);//
}
roundingParams.setCornersRadii(topLeft, topRight, bottmLeft, bottomRight);
simpleDraweeView.getHierarchy().setRoundingParams(roundingParams);
simpleDraweeView.setImageURI(uri);
}
/**
*
*
* @param url
* @param simpleDraweeView
* @param width
* @param color
*/
public static void showCirclePic(String url, SimpleDraweeView simpleDraweeView, float width, int color) {
if (url == null) {
simpleDraweeView.setImageURI(url);
return;
}
Uri uri = Uri.parse(url);
RoundingParams roundingParams = RoundingParams.fromCornersRadius(0f);
if (width > 0) {
roundingParams.setBorder(color, width);
}
roundingParams.setRoundAsCircle(true);
*
* @param url
* @param simpleDraweeView
*/
public static void showGIFPic(String url, SimpleDraweeView simpleDraweeView) {
Uri uri = Uri.parse(url);
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setUri(uri)
.setTapToRetryEnabled(true)
.setAutoPlayAnimations(true)
.setOldController(simpleDraweeView.getController())
.build();
simpleDraweeView.setController(controller);
}
/**
*
*
* @param url
* @param simpleDraweeView
* @param iterations
* @param blurRadius
*/
public static void showUrlBlur(String url, SimpleDraweeView simpleDraweeView, int iterations, int blurRadius) {
Uri uri = Uri.parse(url);
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
.setPostprocessor(new IterativeBoxBlurPostProcessor(iterations, blurRadius))
.build();
AbstractDraweeController controller = Fresco.newDraweeControllerBuilder()
.setOldController(simpleDraweeView.getController())
.setImageRequest(request)
.build();
simpleDraweeView.setController(controller);
}
}
必ずAndroidManifestでxmlに登録!!!
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
//
//Fresco.initialize(this);
//
Fresco.initialize(this,ImagePipelineConfig.newBuilder(App.this)
.setMainDiskCacheConfig(
DiskCacheConfig.newBuilder(this)
.setBaseDirectoryName("CacgPic")
.setBaseDirectoryPath(Environment.getExternalStoragePublicDirectory("photo"))
.build()
)
.build());
}