引导页高亮控件的实现

背景:
由于最近系统的学习了一下自定义view和动画,当知识看完之后不知道自己掌握了多少,而且平时和朋友聊天说起过高亮控件,所以写了一个,不足之处希望大家多多指教。
效果图:
效果图

如图:我点击屏幕上“第一个“button,这个按钮会变为高亮,并且在该控件的右上角会有一个文字说明的button;接下来我点击这个文字说明的button,会把高亮控件移动到下一个,知道没有之后,高亮消失,恢复正常页面(当然什么时候开启高亮,什么时候消失高亮,都是可以通过方法控制的)。
这种效果的实现肯定需要使用自定义动画来完成。而自定义动画特别有趣的就是Canvas对于裁剪的时候,有一个这样的方法:

public boolean clipRect(float left, float top, float right, float bottom,
            @NonNull Region.Op op) 

这里特别说一下Region.Op这个参数
该参数的作用就是在剪下多个区域下来的情况,当这些区域有重叠的时候,这个参数决定重叠部分该如何处理,多次裁剪之后究竟获得了哪个区域
废话不多说,一图胜千言:
这里写图片描述
注:此图不是我画的,是从网上找的,如有侵权,请联系删除。

通过这种方式我们就可以在屏幕上抠出我们所需要的高亮的部分。
下面放出我的代码
具体的实现我在代码中注释的很清楚,大家可以直接看我的代码,觉得好的希望给一个star。

项目地址:

https://github.com/fengxiaobing/MyHighLight

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值