android微信qq提醒功能,Android用Window实现类似微信、QQ来消息的时候的通知提示

先上效果图

4099acdacc5a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

本例结合Window和动画来实现类似于微信、QQ来消息的时候的弹框提示

平时玩微信会发现,即使App在后台,但是来消息的时候仍然会弹框提示,这就肯定得用Window实现了

Window表示一个窗口的概念,在日常开发中直接接触Window的机会并不多,但是在某些特殊的时候需要在桌面上显示一个类似于悬浮窗的东西,这种效果就需要用Window来实现了,Window是一个抽象类,它的具体实现是PhoneWindow,,创建一个Window是很简单的事,只需要通过WindowManager即可完成,值得一提的是,Android中所有的视图都是附加在Window上的,比如Activity,Dialog,Toast等

本例思路

创建一个Window,然后将自己定义的布局加入到Window中,然后显示的时候通过动画从屏幕外面将该Window移动进来,消失的时候则正好相反,

要注意的问题(也是本例的实现步骤)

(1)在Manifest中加入权限

4099acdacc5a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

(2)我们都知道在Android6.0之后加入了动态权限管理,所以这里一进应用之后先判断一下权限,需要打开一个允许出现在其他应用上的权限(不打开此权限点击button按钮没有反应)

(3)创建Window

4099acdacc5a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

(4)对Window里面的View做动画,使其从屏幕外面移动到屏幕里

4099acdacc5a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

(5)2秒之后再做消失动画

4099acdacc5a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

这里需要注意的是当消失的动画执行完毕之后,需要从Window中将里边的View移除,不然的话每次点击按钮再往Window中添加布局的时候由于Window中已经有View,将导致页面卡死的情况

4099acdacc5a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

(6)然后使用起来也就比较简单了,如下图所示

4099acdacc5a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

最后附上源码地址:

https://github.com/zhanmusi2323/WindowHeadToast

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值