如何在所有其他活动的基础上绘制视图,无论它们显示什么,不使用透明活动或使用其触摸事件。
它喜欢在屏幕上显示所有其他应用程序顶部的自定义图标,当您触摸它时会做出反应,但您仍然可以触摸屏幕上的其他视图。
示例:无论您是在主屏幕还是应用程序菜单或任何应用程序,无论您在做什么,都会在屏幕上显示可拖动且可点击的图标。您仍然可以单独单击聊天头图标和背景应用程序元素
如何做这样的事情?
答案 0 :(得分:32)
看看这篇很酷的文章,我认为这正是你想要的:
http://www.piwai.info/chatheads-basics
简而言之:您希望将此权限添加到清单中:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
对于api >= 23,您需要申请运行时权限Settings.ACTION_MANAGE_OVERLAY_PERMISSION
然后在服务中,获取窗口管理器
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
并使用addView
方法
答案 1 :(得分:3)
看看WindowManager
。如果要获取根视图,可以执行(WindowManager)mContext.getSystemService("window");
之类的操作,如果要添加视图,可以使用方法addView(view, params)
。