0

语境:

我的 android 库需要动态地将视图放置在其他目标视图之上。目前我正在WindowManager为此目的使用。我有viewId目标视图并获取视图的位置坐标。现在我简单地使用windowManager.addView(). 这里面临的问题是WindowManager需要SYSTEM_ALERT_WINDOW我们想要避免的许可。

我也尝试过getWindow().getDecorView().findViewById(android.R.id.content).addView(imageView),这样我就不必使用 WindowManger,但它会导致不同手机的对齐问题。关于我们如何避免使用 WindowManager 并同时实现我们的目的的任何帮助?

替代解决方案:我最近阅读了这个stackoverflow 答案,它说如果从 Playstore 安装,则不会询问权限。所以我在 Playstore 上启动了我的应用程序,但它仍然在运行时请求许可。我也填写了这张表格

编辑:

  1. ViewOverlay按照 Mike 的建议使用。问题是可绘制对象只能添加到关联View扩展的区域。 图片
  2. 使用getWindow().getDecorView().findViewById(android.R.id.content).addView(imageView) 问题是我们为不同的屏幕获得不同的对齐方式。 屏幕 1 屏幕 2
  3. 使用WindowManager. 需要SYSTEM_ALERT_WINDOW我们想要避免的许可。
4

0 回答 0