Java Code Examples for com.facebook.drawee.generic.RoundingParams#setOverlayColor()
The following examples show how to use
com.facebook.drawee.generic.RoundingParams#setOverlayColor() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DraweeRoundedCornersFragment.java From fresco with MIT License | 5 votes |
private void changeDraweeViewScaleType( SimpleDraweeView draweeView, ScaleType scaleType, @Nullable PointF focusPoint) { final GenericDraweeHierarchy hierarchy = draweeView.getHierarchy(); hierarchy.setActualImageScaleType(scaleType); hierarchy.setActualImageFocusPoint(focusPoint != null ? focusPoint : new PointF(0.5f, 0.5f)); final RoundingParams roundingParams = Preconditions.checkNotNull(hierarchy.getRoundingParams()); if (BITMAP_ONLY_SCALETYPES.contains(scaleType)) { roundingParams.setRoundingMethod(RoundingParams.RoundingMethod.BITMAP_ONLY); } else { roundingParams.setOverlayColor(mWindowBackgroundColor); } hierarchy.setRoundingParams(roundingParams); }
Example 2
Source File: MainActivity.java From Fresco with Apache License 2.0 | 4 votes |
private void initView() { //获取SimpleDraweeView sdv = (SimpleDraweeView) findViewById(R.id.main_sdv); //初始化圆角圆形参数对象 RoundingParams rp = new RoundingParams(); //设置图像是否为圆形 rp.setRoundAsCircle(true); //设置圆角半径 //rp.setCornersRadius(20); //分别设置左上角、右上角、左下角、右下角的圆角半径 //rp.setCornersRadii(20,25,30,35); //分别设置(前2个)左上角、(3、4)右上角、(5、6)左下角、(7、8)右下角的圆角半径 //rp.setCornersRadii(new float[]{20,25,30,35,40,45,50,55}); //设置边框颜色及其宽度 rp.setBorder(Color.BLACK, 10); //设置叠加颜色 rp.setOverlayColor(Color.GRAY); //设置圆形圆角模式 //rp.setRoundingMethod(RoundingParams.RoundingMethod.BITMAP_ONLY); //设置圆形圆角模式 rp.setRoundingMethod(RoundingParams.RoundingMethod.OVERLAY_COLOR); //获取GenericDraweeHierarchy对象 GenericDraweeHierarchy hierarchy = GenericDraweeHierarchyBuilder.newInstance(getResources()) //设置圆形圆角参数 .setRoundingParams(rp) //设置圆角半径 //.setRoundingParams(RoundingParams.fromCornersRadius(20)) //分别设置左上角、右上角、左下角、右下角的圆角半径 //.setRoundingParams(RoundingParams.fromCornersRadii(20,25,30,35)) //分别设置(前2个)左上角、(3、4)右上角、(5、6)左下角、(7、8)右下角的圆角半径 //.setRoundingParams(RoundingParams.fromCornersRadii(new float[]{20,25,30,35,40,45,50,55})) //设置圆形圆角参数;RoundingParams.asCircle()是将图像设置成圆形 //.setRoundingParams(RoundingParams.asCircle()) //设置淡入淡出动画持续时间(单位:毫秒ms) .setFadeDuration(5000) //构建 .build(); //设置Hierarchy sdv.setHierarchy(hierarchy); //构建Controller DraweeController controller = Fresco.newDraweeControllerBuilder() //设置需要下载的图片地址 .setUri(imageUrl) //设置点击重试是否开启 .setTapToRetryEnabled(true) //构建 .build(); //设置Controller sdv.setController(controller); }
Example 3
Source File: FrescoUtil.java From MyImageUtil with Apache License 2.0 | 2 votes |
/** * 当设置roundAsCircle为true无效时,采用这个方法,常用在gif的圆形效果上 * * 或者在xml中设置:fresco:roundWithOverlayColor="@color/you_color_id" "you_color_id"是指你的背景色,这样也可以实现圆角、圆圈效果 * *roundAsCircle的局限性: * 当使用BITMAP_ONLY(默认)模式时的限制: 并非所有的图片分支部分都可以实现圆角,目前只有占位图片和实际图片可以实现圆角,我们正在努力为背景图片实现圆角功能。 只有BitmapDrawable 和 ColorDrawable类的图片可以实现圆角。我们目前不支持包括NinePatchDrawable和 ShapeDrawable在内的其他类型图片。(无论他们是在XML或是程序中声明的) 动画不能被圆角。 由于Android的BitmapShader的限制,当一个图片不能覆盖全部的View的时候,边缘部分会被重复显示,而非留白。对这种情况可以使用不同的缩放类型 (比如centerCrop)来保证图片覆盖了全部的View。 OVERLAY_COLOR模式没有上述限制,但由于这个模式使用在图片上覆盖一个纯色图层的方式来模拟圆角效果, 因此只有在图标背景是静止的并且与图层同色的情况下才能获得较好的效果。 * @param draweeView * @param bgColor 圆形遮罩的颜色,应该与背景色一致 */ public static void setCircle(SimpleDraweeView draweeView, @ColorInt int bgColor){ RoundingParams roundingParams = RoundingParams.asCircle();//这个方法在某些情况下无法成圆,比如gif roundingParams.setOverlayColor(bgColor);//加一层遮罩 draweeView.getHierarchy().setRoundingParams(roundingParams); }
Example 4
Source File: FrescoUtils.java From FrescoUtlis with Apache License 2.0 | 2 votes |
/** * 当设置roundAsCircle为true无效时,采用这个方法,常用在gif的圆形效果上 * * 或者在xml中设置:fresco:roundWithOverlayColor="@color/you_color_id" "you_color_id"是指你的背景色,这样也可以实现圆角、圆圈效果 * *roundAsCircle的局限性: * 当使用BITMAP_ONLY(默认)模式时的限制: 并非所有的图片分支部分都可以实现圆角,目前只有占位图片和实际图片可以实现圆角,我们正在努力为背景图片实现圆角功能。 只有BitmapDrawable 和 ColorDrawable类的图片可以实现圆角。我们目前不支持包括NinePatchDrawable和 ShapeDrawable在内的其他类型图片。(无论他们是在XML或是程序中声明的) 动画不能被圆角。 由于Android的BitmapShader的限制,当一个图片不能覆盖全部的View的时候,边缘部分会被重复显示,而非留白。对这种情况可以使用不同的缩放类型 (比如centerCrop)来保证图片覆盖了全部的View。 OVERLAY_COLOR模式没有上述限制,但由于这个模式使用在图片上覆盖一个纯色图层的方式来模拟圆角效果, 因此只有在图标背景是静止的并且与图层同色的情况下才能获得较好的效果。 * @param draweeView * @param bgColor 圆形遮罩的颜色,应该与背景色一致 */ public static void setCircle( SimpleDraweeView draweeView,int bgColor){ RoundingParams roundingParams = RoundingParams.asCircle();//这个方法在某些情况下无法成圆,比如gif roundingParams.setOverlayColor(bgColor);//加一层遮罩 draweeView.getHierarchy().setRoundingParams(roundingParams); }