专栏名称: 鸿洋
你好,欢迎关注鸿洋的公众号,每天为您推送高质量文章,让你每天都能涨知识。点击历史消息,查看所有已推送的文章,喜欢可以置顶本公众号。此外,本公众号支持投稿,如果你有原创的文章,希望通过本公众号发布,欢迎投稿。
目录
今天看啥  ›  专栏  ›  鸿洋

Android | 多种方式实现图片圆角矩形和圆形效果

鸿洋  · 公众号  · android  · 2024-10-18 08:35

主要观点总结

本文介绍了在Android中实现图片圆角矩形和圆形效果的六种常见方法,包括使用ViewOutlineProvider、Glide图片加载库、Canvas.clipPath()自定义ImageView、CardView、BitmapShader和RoundedBitmapDrawable等方式。每种方式都有其使用场景和特点,推荐优先使用系统已经实现好的方式,如ViewOutlineProvider或优秀的Glide图片加载库。

关键观点总结

关键观点1: 方式一:使用ViewOutlineProvider设置圆角矩形或圆形效果

通过ViewOutlineProvider来定义视图的轮廓,实现圆角矩形和圆形效果。

关键观点2: 方式二:使用Glide图片加载库实现图片圆角处理

通过Glide的RequestOptions轻松实现图片的圆角处理。

关键观点3: 方式三:通过Canvas.clipPath()自定义ImageView实现圆角矩形和圆形图片

创建一个自定义的ImageView,通过重写onDraw()方法,使用Canvas.clipPath()实现图片的圆角矩形和圆形效果。

关键观点4: 方式四:使用CardView实现圆角效果

通过CardView的app:cardCornerRadius属性,方便实现圆角效果。

关键观点5: 方式五:使用BitmapShader实现自定义圆角和圆形图片

通过BitmapShader着色器实现自定义的圆角和圆形图片。

关键观点6: 方式六:使用RoundedBitmapDrawable处理圆形或圆角矩形的图片显示

使用RoundedBitmapDrawable工具类处理圆形或圆角矩形的图片显示。


文章预览

本文作者: mqcoder ,原文发布于: 代码说 。 在项目开发中,为了让图片显示得更加美观,通常 UI 会设计成圆角矩形或圆形效果。本文将介绍几种常见的实现方式,并提供对应的代码示例。 1 方式一:ViewOutlineProvider可以设置圆角矩形、椭圆、圆形等 ViewOutlineProvider 是 Android 5.0 引入的一个类,用来定义视图的轮廓(outline)。可以通过它来实现圆角矩形、椭圆、圆形等效果。 //设置成扩展方法 fun  View. clipToRoundView (type:  Int  = RoundImgView.SHAPE_ROUND_RECT)  {      if  (Build.VERSION.SDK_INT >=  21 ) {         outlineProvider =  object  : ViewOutlineProvider() {              override   fun   getOutline (view:  View ?, outline:  Outline ?)  {                  if  (view ==  null )  return                  if  (type == RoundImgView.SHAPE_ROUND_RECT) {              ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览