android悬浮窗代码布局,三行代码实现Android应用内悬浮窗,无需一切权限,适配所有ROM和厂商...

悬浮窗实现传统方案

对于传统悬浮窗和一些古老的“黑科技”悬浮窗的实现,想必已经有很多成熟的案例了,实现策略基本为以下两种:TYPE_SYSTEM_ALERT类型mWindowManager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);

WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams()

layoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;

需要权限:TYPE_TOAST / TYPE_PHONE 类型

7.1.1以下不需要权限声明,在魅族、华为、小米等机型上默认隐藏,需要引导用户打开悬浮窗。

传统方案的问题

第一种方案因为存在各种限制,不能被众多开发采纳,故而比较流行的悬浮窗实现方式是第二种。

但是,我们有自己的原则:不能接受7.1.1以上机型,使用第二种方式实现悬浮窗仍需要用户主动授予权限的操作?

不能接受在魅族、华为、小米等机型上默认隐藏,需要引导用户打开悬浮窗,就像这样

[站外图片上传中...(image-18b632-1541251502358)]

功能应用内显示,无需申请任何权限

应用内显示,所有机型都可以默认显示悬浮窗,无需引导用户做更多设置

支持拖拽

超出屏幕限制移动

可自动吸附到屏幕边缘

使用规则在基类Activity(注意必须是基类Activity)中的onStart和onStop添加如下代码@Override

protected void onStart() {        super.onStart();

FloatingViewManager.getInstance().attach(this);

}    @Override

protected void onStop() {        super.onStop();

FloatingViewManager.getInstance().detach(this);

}展示悬浮窗FloatingViewManager.getInstance().add(getApplicationContext());

销毁悬浮窗FloatingViewManager.getInstance().remove();

效果图

AAffA0nNPuCLAAAAAElFTkSuQmCC

作者:李良逸

链接:https://www.jianshu.com/p/6c10b6bf14af

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值