问题描述
我很清楚,“浮动”一词可能无效,但这是我想到的唯一用来描述我要做什么的单词。
因此,我正在尝试开发一个类似小部件的应用程序,该应用程序可以计算3G的剩余兆字节数。 问题是,我希望可以轻松访问它,并希望始终将其放在首位。 虽然我已经能够处理大部分内容,但是我很难实现以下想法。
我希望应用程序始终在屏幕上保留一个小图标,该图标将显示一个数字,即剩余的兆字节数。 想法是该图标很小,并且将始终保留在屏幕上,与此同时,我将能够在后台使用其他应用程序。
类似应用程序的一个示例是facebook Messenger应用程序,该应用程序几乎始终保持在屏幕上,而不会干扰用户可能同时运行的其他应用程序。
我查看了几个网站,但找不到关于如何制作类似内容的任何想法,因此,我向您寻求帮助。
1楼
您想要做的是创建一个视图(不会占据整个屏幕)并将其直接添加到WindowManager中,而不是应用程序通常执行的操作,即创建一个活动(一个活动的内容视图)也已添加到WindowManager中,但这将自动为您完成)。
在视图的布局参数中(请参见 ),您可以选择适当的窗口类型,例如TYPE_SYSTEM_OVERLAY
或TYPE_SYSTEM_ALERT
。
这将导致您的视图出现在其他窗口的顶部。
请注意,某些类型的窗口需要您需要在清单中声明的??权限,并且它们具有不同的限制。
要确定正确的窗口类型,可能需要做一些实验!
使用层次结构查看器在Facebook Messenger应用程序运行时对其进行查看-您会注意到它具有一个“更高”的窗口,这是上述窗口类型实现的。
这应该给您足够的指导以助您前进。