在 Android 上显示点击叠加层,例如基线网格

Display click-through overlay on Android, e.g. baseline grid

我想看看我的应用程序是否符合 Material 设计 guidelines regarding metrics 并根据需要进行调整。为此,我希望在不拦截触摸事件的情况下在整个 window 上绘制一个 8dp 方形网格或 4dp 基线网格,这样我就可以像往常一样点击和滚动(想想开发中的 "Show layout bounds" 模式选项)。它应该看起来像这样:

问题:

  1. 如何将这样的视图放在所有内容的顶部并使其成为 "click-through"?
  2. 或者也许已经有实现此目的的工具/库/片段? UPD这个已经回答了,谢谢!出于好奇,问题 1 仍然悬而未决

This is what I use

注意:我与应用程序的作者没有任何关系,这只是我在自己的开发中广泛使用的内容。

UPD2:@john 引用的应用程序实际上有 their sources open. 看起来这个代码片段做到了。就这么简单。

final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
        ViewGroup.LayoutParams.MATCH_PARENT,
        ViewGroup.LayoutParams.MATCH_PARENT,
        WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
        WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
        PixelFormat.TRANSLUCENT
);

final WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);

wm.addView(myOverlayView, lp);