Android:如何在任何事物(任何活动)之上免费绘制

All*_*ane 25 java android view android-activity

如何在所有其他活动的基础上绘制视图,无论它们显示什么,不使用透明活动或使用其触摸事件.

它喜欢在屏幕上显示所有其他应用程序顶部的自定义图标,当您触摸它时会做出反应,但您仍然可以触摸屏幕上的其他视图.

示例:Facebook聊天头在屏幕上显示可拖动和可点击的图标,无论您在主屏幕或应用程序菜单或任何应用程序上,无论您在做什么.您仍然可以单独单击聊天头图标和背景应用程序元素

怎么做那样的事情?

Fre*_*zaq 32

看看这篇很酷的文章,我认为这正是你想要的:

http://www.piwai.info/chatheads-basics

简而言之:您希望将此权限添加到清单中:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
Run Code Online (Sandbox Code Playgroud)

对于api> = 23,您需要请求运行时权限Settings.ACTION_MANAGE_OVERLAY_PERMISSION

然后在服务中,获取窗口管理器

windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
Run Code Online (Sandbox Code Playgroud)

并使用该addView方法添加您的视图