悬浮窗与Home Back事件

搜悬浮窗可以搜到很多方法,但针对Home  、  back  事件具体的很少。

最近公司让我在做这方面的功能,集中众人力量,受益匪浅啊。

简单介绍吧,悬浮窗接收不到Home监听;back也不能直接给悬浮窗,试过一些博客的做法,view.setKeyEventListener处理是不成功的。

home思路:

要想启动悬浮窗时接收到home的监听,需要同时启动一个activity,将home监听交给activity,监听时消失掉悬浮窗。否则不用想通过按home消失悬浮窗。

当然有人问了,那写的功能直接写在activity就行了呗。我们公司的规定,尽量少写activity,少动manifest文件。我这种小菜鸟,还不到能动这些组件的权利,能规避就规避。

 

back思路:

悬浮窗的view用的xml文件,线性布局或相对布局等,要重写几个方法 public boolean dispatchTouchEvent(MotionEvent event) {} 、public boolean dispatchKeyEvent(KeyEvent event) {}等

而调setKeyEventListener()方法的主体,必须是重写过上面方法的布局的id转化:重写布局类  layout = (重写布局类) inflater.inflate(R.layout.view_float, null);

layout.setKeyEventListener(new KeyEventListener() {

    @Override
    public boolean onKeyUp(int keyCode, KeyEven

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值