自定义气泡,适配项目中的所有气泡

前言

为什么要做这个工作呢?气泡的意义在于引导用户去使用应用中的新功能,所以版本迭代添加新功能的时候,就是使用气泡来引导用户去使用新功能。但是每次写气泡这个功能的时候,就需要重新去写一套代码去实现,这是十分浪费时间,而且不能统一管理气泡,因此需要将气泡做成一个工具,每次实现只需要变更内容、位置和尖角的位置就好了。

实现

自定一个View去绘制气泡的背景和尖角,当然背景大小和尖角的位置需要适配。然后使用pupopWindow去实现气泡的展示,这样就和所需要展示页面解耦了,不要去计算气泡在页面的位置,只需要将所提示的view传递进去即可。

代码在这里就省略了,感兴趣的同学可以去看代码,当然还有很多问题,需要在后面的时间里慢慢完善。

使用

只需要在view的上下左右正中展示

  • view正下方显示
BubblePopupWindow bubblePopupWindow = new BubblePopupWindow(context);
bubblePopupWindow.setBubbleText("这是一条气泡消息");
bubblePopupWindow.show(view);//默认是view的下部展示

效果如下图所示:

  • view正上方显示
BubblePopupWindow bubblePopupWindow = new BubblePopupWindow(context);
bubblePopupWindow.setBubbleText("这是一条气泡消息");
bubblePopupWindow.show(view, Gravity.TOP);//view的上部展示

效果如下图所示:

  • view左边显示
BubblePopupWindow bubblePopupWindow = new BubblePopupWindow(context);
bubblePopupWindow.setBubbleText("这是一条气泡消息");
bubblePopupWindow.show(view, Gravity.LEFT);//view的上部展示

效果如下图所示:

  • view右边显示
BubblePopupWindow bubblePopupWindow = new BubblePopupWindow(context);
bubblePopupWindow.setBubbleText("这是一条气泡消息");
bubblePopupWindow.show(view, Gravity.RIGHT);//view的上部展示

效果如下图所示:

  • view默认位置下方显示
BubblePopupWindow bubblePopupWindow = new BubblePopupWindow(context);
bubblePopupWindow.setBubbleText("这是一条气泡消息");
 bubblePopupWindow.setXOffset(0);//整体气泡的偏移量
bubblePopupWindow.show(view, Gravity.BOTTOM, false, 0);//最后一个参数是尖角的偏移量

效果如下图所示:

  • view默认位置上方显示
BubblePopupWindow bubblePopupWindow = new BubblePopupWindow(context);
bubblePopupWindow.setBubbleText("这是一条气泡消息");
 bubblePopupWindow.setXOffset(0);//整体气泡的偏移量
bubblePopupWindow.show(view, Gravity.TOP, false, 0);//最后一个参数是尖角的偏移量

效果如下图所示:

  • view默认位置左方显示
BubblePopupWindow bubblePopupWindow = new BubblePopupWindow(context);
bubblePopupWindow.setBubbleText("这是一条气泡消息");
 bubblePopupWindow.setXOffset(0);//整体气泡的偏移量
bubblePopupWindow.show(view, Gravity.LEFT, false, 0);//最后一个参数是尖角的偏移量

效果如下图所示:

  • view默认位置右方显示
BubblePopupWindow bubblePopupWindow = new BubblePopupWindow(context);
bubblePopupWindow.setBubbleText("这是一条气泡消息");
 bubblePopupWindow.setXOffset(0);//整体气泡的偏移量
bubblePopupWindow.show(view, Gravity.RIGHT, false, 0);//最后一个参数是尖角的偏移量

效果如下图所示:

两个类就搞定了,这里是代码

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值