Android圆角图片和圆形图片实现总结

逆水行舟用力撑,一篙松劲退千寻。这篇文章主要讲述Android圆角图片和圆形图片实现总结相关的知识,希望能为你提供帮助。
转载注明出处: http://blog.csdn.net/xiaohanluo/article/details/52945791
1. 概述
android研发中经常会遇见圆角或者圆形图片的展示, 但是系统中ImageView并不能直接支持, 需要我们自己做一些处理, 来实现圆角图片或者圆形图片, 自己最近对这块的实现做了一下总结, 看以下几种实现方法。

  • 图层叠加, 上层覆盖一层蒙版, 遮挡图片, 让图片展示出圆角或者圆形效果
  • 重新绘制
    • BitmapShader
    • Xfermode
    • RoundedBitmapDrawable
  • CardView, 使用官方控件, 自动裁剪, 达到圆角或者圆形效果。(5.0以上系统)
【Android圆角图片和圆形图片实现总结】第一种方法, 很傻, 不太优雅, 不推荐这种方法, 了解这种方法是因为确实看见有人这么做过。推荐使用第二种方法, 重新绘制图片, 不仅可以绘制出四角圆角图片, 还可以绘制出底部/顶部/左边/右边圆角效果, 非常方便。如果想要偷懒, 可以直接使用RoundedBitmapDrawable来实现圆角照片效果。而第三种方法, 使用CardView控件有很大的局限性, 它只在5.0以及以上的系统中有效。
下面就来看一下各种方法的具体情况吧。
2. 图层叠加
图层叠加原理很简单, 就是在一张图片上面叠加一层图, 覆盖部分, 让图片展示成圆角。具体原理可以参考下面这张图。
Android圆角图片和圆形图片实现总结

文章图片

图-1 图层叠加原理图

    推荐阅读