专栏名称: 鸿洋
你好,欢迎关注鸿洋的公众号,每天为您推送高质量文章,让你每天都能涨知识。点击历史消息,查看所有已推送的文章,喜欢可以置顶本公众号。此外,本公众号支持投稿,如果你有原创的文章,希望通过本公众号发布,欢迎投稿。
目录
相关文章推荐
复利大王  ·  银行圈大瓜!浙江四大行原“一把手”全部落马 ·  23 小时前  
复利大王  ·  工行软开不续签? ·  23 小时前  
复利大王  ·  卷麻了!某律所提供“空姐”服务 ·  23 小时前  
复利大王  ·  美女硕士被妈妈的驭男术坑了 ·  昨天  
复利大王  ·  青岛大所女律师cg事件 ·  昨天  
51好读  ›  专栏  ›  鸿洋

带你一步步实现带有多彩阴影的ImageView

鸿洋  · 公众号  · android  · 2017-07-25 07:30

正文

请到「今天看啥」查看全文



答案当然是可以的,基于这个思路就有了PaletteImageView这个控件,PaletteImageView不仅仅可以将阴影设置成图片自身颜色,还可以解析图片的颜色,提供可以跟图片匹配的UI颜色方案,是不是很酷,接下来让我们一步步来实现它。


先看一下效果图:



要实现的功能:

  • 默认情况下为图片添加相应颜色的阴影

  • 可以自定义阴影的颜色

  • 可以为图片添加圆角

  • 可以设置阴影半径大小,提供可以调控的用户体验

  • 可以自定义设置阴影分别在x和y方向上的偏移量,更高的可控性

  • 根据图片自身的颜色提供与图片匹配的颜色方案(智能推荐颜色功能)


难点就是怎么才能获取到图片本身的颜色呢?


这就要用到Palette这个类了,Palette就是调色板的意思,不了解的可以参考这篇文章Palette使用详解。

http://blog.csdn.net/xiaochuanding/article/details/72983772


我们先来实现给图片添加相应颜色的阴影,下面只贴出关键代码,要阅读完整代码请移步

https://github.com/DingMouRen/PaletteImageView


主要思路是解析获取到的bitmap的颜色,当解析出bitmap颜色的时候,使用handler来通知控件来绘制带有颜色的阴影

在onSizeChanged(…)中能够获取到控件宽高的时候,对图片先进行压缩处理 ,为了防止内存溢出情况的发生,然后就是获取图片颜色得操作:







请到「今天看啥」查看全文