Android快速实现高亮引导

在发新版或增加新功能时常会用到高亮显示某一处,高亮显示所用的最关键技术是PorterDuffXfermode
在看本文之前推荐大家学习下canvas相关知识 :http://hencoder.com/ui-1-2/
这里给大家推荐下HenCoder,是面向安卓进阶,内容生动有趣又不失精彩。

下面进入正题
PorterDuff
呈现出的高亮显示无非就是activity.getWindow().getDecorView()得到DecorView,然后在其中添加个全屏的FrameLayout,在OnDraw()进行相关操作,最终效果就是在整块屏幕的的暗色背景上扣出几个高亮点。所用到的PorterDuffXfermode肯定是在这几种中选取一个,通常采取的是SRC_OUT 、DST_OUT、XOR这几种实现方式,本文所采取的是XOR的实现方式。

实现要点是在暗色透明背景上先用非透明色画出需要高亮的区域,然后给paint设置PorterDuffXfermode(PorterDuff.Mode.XOR),然后再用非透明色画出需要高亮的区域,这样一XOR,两块非透明色相交就相当于扣出了一块透明的高亮区域。实现效果:
ezgif.com-video-to-gif.gif
github地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值