我有一个以下列方式工作的应用程序:
屏幕的上部是应用程序的“主要”部分,用户可以与之交互的实际内容显示在这里。
屏幕下部(可能是屏幕高度的 1/4 左右)是导航轮。用户可以转动这个轮子来改变显示屏的上部。当转动时,整个上部被其他东西取代。
这两部分是使用片段实现的。下部(导航轮)只是一个静态片段,显示可以旋转的视图层次结构。上半部分(内容展示区)也是一个fragment,转动滚轮可以切换到其他fragment。
现在我想要的是,当应用程序启动时,我们正在显示一个免费内容部分,但是当用户将滚轮转到其他内容部分之一时,会弹出一个窗口以阻止内容显示区域,并说“购买此模式谷歌播放。” 这个弹窗显然应该挡住它后面的内容区域,所以用户可以看到弹窗后面的一些显示区域,但是在完成 Google Play 交易之前他/她无法与之交互。如果内容区域的视图也可以变灰,那就太好了。然而,不应阻止屏幕底部的导航轮,以便用户能够导航回他/她来自的地方或进一步导航到另一个内容部分。如何制作一个阻止顶部视图层次结构交互但保持较低层次完整的弹出窗口?
据我所知,不可能使用PopupWindow 类来创建一个只会阻止其后面的某些屏幕的弹出窗口。它似乎总是阻止这一切。
这是设计的插图。“P”表示付费,“F”表示免费。在第二个屏幕上,应用程序应该忽略对内容部分(灰色窗口后面)的任何按下,但导航轮应该仍然可以转动。
谢谢你。