Android上的浮动应用(Windowed app)

时间:2014-03-29 13:03:28

标签: android floating windowed moveabletype

有谁知道如何创建浮动窗口? (下图显示了我的意思) - source code

我已经在各种网站上阅读过,为了做到这一点,应用必须作为服务运行,而服务又应该作为使用' TYPE_SYSTEM_ALERT'的活动运行。

如果以上是或不是真的......我仍然不知道如何实现代码。有人可以编写一些代码,显示一个简单的应用程序(单击按钮并执行某些操作)如何可以成为一个浮动窗口,谢谢:)

这也可能有所帮助 - facebook chatheads

Floating Window App

4 个答案:

答案 0 :(得分:3)

最简单的方法是使用优秀的开源Standout库:https://github.com/pingpongboss/StandOut

答案 1 :(得分:3)

您可以使用WindowManager来扩充视图。像这样:

LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);


overlay = (RelativeLayout) inflater.inflate(R.layout.overlay, null);

final LayoutParams params = new LayoutParams(
                        LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT,
                        LayoutParams.TYPE_SYSTEM_ALERT,
                        LayoutParams.FLAG_NOT_FOCUSABLE | LayoutParams.FLAG_NOT_TOUCH_MODAL,
                        PixelFormat.TRANSLUCENT);


WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
if (overlay.isShown()){
        wm.updateViewLayout(overlay, params);
}
else {

        // add overlay
        wm.addView(overlay, params);
}

使用此功能,您可以对任何应用程序的任何视图进行充气。

希望它可以帮到你!!

答案 2 :(得分:2)

您可能还想查看Tooleap SDK:http://www.tooleap.com

答案 3 :(得分:0)

这些q& a(下方链接)有助于实现我想要的目标:

Possible to inflate an XML layout in a Service? (Android)

Creating a system overlay window (always on top)