您如何在所有其他活动之上绘制视图,无论它们显示什么并且不使用透明活动或消耗其触摸事件。
就像在所有其他应用程序之上显示一个自定义图标,当您触摸它时会做出反应,但您仍然可以触摸屏幕上的其他视图。
示例:无论您在主屏幕、应用程序菜单或任何应用程序上做什么,无论您在做什么,都会在屏幕上显示可拖动和可点击的图标的 facebook 聊天头。您仍然可以分别单击聊天头图标和后台应用程序元素
怎么做这样的事情?
您如何在所有其他活动之上绘制视图,无论它们显示什么并且不使用透明活动或消耗其触摸事件。
就像在所有其他应用程序之上显示一个自定义图标,当您触摸它时会做出反应,但您仍然可以触摸屏幕上的其他视图。
示例:无论您在主屏幕、应用程序菜单或任何应用程序上做什么,无论您在做什么,都会在屏幕上显示可拖动和可点击的图标的 facebook 聊天头。您仍然可以分别单击聊天头图标和后台应用程序元素
怎么做这样的事情?
看看这篇很酷的文章,我认为这正是你想要的:
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
并使用该方法添加您的视图
看看WindowManager
。(WindowManager)mContext.getSystemService("window");
如果你想获得根视图,你可以做一些事情,addView(view, params)
如果你想添加一个视图,你可以使用该方法。