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

时间:2013-05-15 07:54:51

标签: java android view android-activity

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

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

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

如何做这样的事情?

2 个答案:

答案 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)