当前位置: 首页 > news >正文

企业电子商务网站有哪些功能苏州网站设计选哪家

企业电子商务网站有哪些功能,苏州网站设计选哪家,国内哪个网站做水产比较大,广州专业网站建设公司如何在Android Glide中结合使用CenterCrop和自定义圆角变换(图片部分圆角矩形) 在Android开发中,使用Glide加载图片时,我们经常需要对图片进行特定的处理,比如裁剪和圆角变换,特别是一些设计稿,…

如何在Android Glide中结合使用CenterCrop和自定义圆角变换(图片部分圆角矩形)

在这里插入图片描述

在Android开发中,使用Glide加载图片时,我们经常需要对图片进行特定的处理,比如裁剪和圆角变换,特别是一些设计稿,他可能只有上面2个圆角。这篇博客将指导您如何在Glide中结合使用CenterCrop和自定义圆角变换。

简介

Glide是一个流行的Android图像加载库,它提供了强大的图片处理和缓存功能。在许多情况下,我们需要对图片进行裁剪以适应UI的需求,并可能想要应用圆角以增强视觉效果。Glide提供了一种简单的方式来实现这些效果。通过在Glide侧先进行裁剪,避免做完圆角的图到了控件端因为scale未显示出圆角部分。

实现步骤

1. 创建自定义圆角变换

首先,我们需要创建一个自定义的BitmapTransformation,该变换只对图片的顶部应用圆角。这个类可以这样实现:

public class TopCornersRoundedTransformation extends BitmapTransformation {private final float radius; // 圆角半径public TopCornersRoundedTransformation(float radius) {this.radius = radius;}@Overrideprotected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight) {return topRoundedCorners(pool, toTransform);}private Bitmap topRoundedCorners(BitmapPool pool, Bitmap source) {if (source == null) return null;Bitmap result = pool.get(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);result.setHasAlpha(true);Canvas canvas = new Canvas(result);Paint paint = new Paint();paint.setAntiAlias(true);paint.setShader(new BitmapShader(source, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP));// 绘制圆角矩形(只对左上和右上角应用圆角)RectF rectF = new RectF(0f, 0f, source.getWidth(), source.getHeight());canvas.drawRoundRect(rectF, radius, radius, paint);// 绘制矩形以覆盖底部两个角RectF bottomRect = new RectF(0f, radius, source.getWidth(), source.getHeight());canvas.drawRect(bottomRect, paint);return result;}@Overridepublic void updateDiskCacheKey(@NonNull MessageDigest messageDigest) {messageDigest.update(("top_corners_rounded" + radius).getBytes(CHARSET));}
}

在这里插入图片描述

2. 在Glide中使用变换

接下来,在Glide的加载链中,我们结合使用CenterCrop和我们的自定义圆角变换:

int radius = dpToPx(5); // 圆角半径,根据需要调整Glide.with(mActivity).load(getFirstImageUrl(productBean.getUrls())).apply(new RequestOptions().transforms(new CenterCrop(), new TopCornersRoundedTransformation(radius))).into(pictureIV);

这段代码首先将图片进行CenterCrop处理,然后应用自定义的圆角变换。transforms方法允许我们链式地应用多个变换。

3. dpToPx方法

为了将dp单位转换为像素值,您可以使用如下方法:

public int dpToPx(int dp) {return (int) (dp * Resources.getSystem().getDisplayMetrics().density);
}

总结

通过结合使用CenterCrop和自定义的TopCornersRoundedTransformation,我们可以在Glide中轻松实现对图片的裁剪和圆角处理。这种方式既保留了图片的纵横比,又增加了视觉上的吸引力,非常适合现代的Android应用开发。

记住,Glide的变换功能非常强大,可以根据您的具体需求进行定制和扩展。
在这里插入图片描述

http://www.yayakq.cn/news/751671/

相关文章:

  • 网站备案个人好还是企业好wordpress 加斜杠
  • 南沙区交通和建设局网站网站建设应考虑哪些方面的问题
  • 网站建设gzdlzgg网站建设维护成本
  • 网站制作北京山东建站商城
  • 网站建设企业类型是什么h5网站还有哪些
  • 企业网站的设计招标网站建设申请报告
  • 信誉好的南昌网站建设贵州住房和建设厅网站
  • 网站建设与管理专业的行业发展运动类网站
  • 郑州大学现代远程教育《网页设计与网站建设》课程考核要求如何制作网站平台
  • 建设部网站查询公司推广方式是什么意思
  • 东莞网站建设市场seo 优化案例
  • 安居客网站怎么做做网站要开发嘛
  • 湘潭网站建设方案费用网站图片相册代码
  • 建设部网站 测绘规章网站开发逻辑
  • 怎样进行公司网站建设携程网站建设目的
  • 设计娱乐网站psd企业网站模板
  • 济南做网站价格深圳网站设计公司排名榜
  • 如何做网站的seo济南seo优化外包服务公司
  • 网站开发技术负责那些设计方案ppt模板
  • 中小企业建站可以怎么做wordpress主题 个人博客
  • 高校网站建设模板怎么做微信公众号小程序
  • 上海专业网站建设排行注册网站卖东西
  • 威龙电子商务做的网站网站建设方案推销
  • wordpress站群代龙华做棋牌网站建设找哪家效益快
  • 合肥响应式网站建设方案wordpress sql root
  • 网站建设和编辑实训报告专业网站建设联系
  • 背景网站建设公司网站建设的公司如何选
  • 自助单页网站网站报备流程
  • 专业的网站建设联系本地升级wordpress
  • 建设网站comwordpress排行小工具