依赖
implementation ‘com.facebook.fresco:fresco:0.14.1’
Activity
public class MainActivity extends AppCompatActivity {
private SimpleDraweeView simple;
private SimpleDraweeView simple1;
private String Url="http://img5.imgtn.bdimg.com/it/u=4212639482,1816603765&fm=26&gp=0.jpg";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
simple=findViewById(R.id.simple);
simple1=findViewById(R.id.simple1);
showUrlBlur(simple,Url,5,5);
loadToBitmap(Url,simple1);
}
//高斯模糊
public static void showUrlBlur(SimpleDraweeView draweeView, String url, int iterations, int blurRadius) {
try {
Uri uri = Uri.parse(url);
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
.setPostprocessor(new IterativeBoxBlurPostProcessor(iterations, blurRadius))
.build();
AbstractDraweeController controller = Fresco.newDraweeControllerBuilder()
.setOldController(draweeView.getController())
.setImageRequest(request)
.build();
draweeView.setController(controller);
} catch (Exception e) {
e.printStackTrace();
}
}
//图片的加载
public static void loadToBitmap(String imageUrl, SimpleDraweeView draweeView) {
ImageRequest imageRequest = ImageRequestBuilder
.newBuilderWithSource(Uri.parse(imageUrl))
.setProgressiveRenderingEnabled(true)
.build();
AbstractDraweeController controller = Fresco.newDraweeControllerBuilder()
.setOldController(draweeView.getController())
.setImageRequest(imageRequest)
.build();
draweeView.setController(controller);
}
Xml的布局
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/simple"
android:layout_width="200dp"
android:layout_height="200dp"
fresco:roundingBorderColor="#fff"
fresco:roundingBorderWidth="2dp"
/>
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/simple1"
android:layout_width="100dp"
android:layout_height="100dp"
fresco:roundAsCircle="true"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
fresco:roundingBorderColor="#fff"
fresco:roundingBorderWidth="2dp"
/>