6

我正在寻找一些关于浮动覆盖的信息 不是 mapView 的覆盖,而是浮动在其他应用程序上的覆盖。

例如,这些应用程序正在做我正在寻找的东西:

https://play.google.com/store/apps/details?id=com.pvy.batterybar

https://play.google.com/store/apps/details?id=ds.cpuoverlay

即使我们不在应用程序中,它们也会在屏幕前显示元素

我尝试了一些搜索,但没有找到任何东西。

有人知道在哪里可以找到一些 API 文档、教程链接、一段代码...

谢谢

4

1 回答 1

0

为此,您需要一个权限“ android.permission.SYSTEM_ALERT_WINDOW ”。在清单文件中添加权限后,执行以下操作:

final WindowManager.LayoutParams param=new WindowManager.LayoutParams();
param.flags=WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
final View view=findViewById(R.id.my_floating_view);
final ViewGroup parent=(ViewGroup)view.getParent();
parent.removeView(view);
param.format=PixelFormat.RGBA_8888;
param.type=WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
param.gravity=Gravity.TOP|Gravity.LEFT;
param.width=view.getLayoutParams().width;
param.height=view.getLayoutParams().height;
final WindowManager wmgr=(WindowManager)getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
wmgr.addView(view,param);

另外,我相信这就是 Facebook 聊天头的做法。希望有帮助!

于 2013-04-19T01:12:27.453 回答