Android - 在屏幕的顶部(如 Chrome 中)显示可关闭的对话框

Posted

技术标签:

【中文标题】Android - 在屏幕的顶部(如 Chrome 中)显示可关闭的对话框【英文标题】:Android - Show dismissable Dialog on TOP (like in Chrome) of the screen 【发布时间】:2018-01-07 23:48:54 【问题描述】:

我目前正在尝试为我的应用程序的某些元素添加详细视图功能,并且我希望在 Chrome 应用程序中像以下对话框一样显示它们:

(当您单击 https 锁定符号时它会打开)

该框应覆盖应用程序窗口的整个顶部,而不是在顶部、右侧或左侧留下空间,当然只是在底部。它也应该可以通过点击外部来关闭。

我尝试这样做了一段时间,但没有成功。

我怎样才能做到这一点?

【问题讨论】:

***.com/questions/9467026/… 这个对话框没有什么特别之处。显示什么I was trying to do this for a while,我们会尽力提供帮助。 我基本上试图用一个 Activity 来做,但认为它太慢了,而且我还设法搞砸了透明度,所以没有什么可以向你展示。我一直在寻找另一种方式。 :) @Vlad 【参考方案1】:

您可以通过多种方式实现它。

第一个

使用您的视图(将放置在顶部)创建您自己的 DialogFragment 类似物(不要扩展现有的),并像这样显示它:

getSupportFragmentManager().beginTransaction()
        .add(new MyDialogFragment(), android.R.id.content)
        .commit();

android.R.id.content 就像您的活动的根视图(setContentView() 在其顶部添加视图)。

活动一

您可以创建Activity,它将是透明的,并在顶部有这个“卡片”。

第三个

只需让Dialog 出现在屏幕顶部即可。 Like this.

【讨论】:

@fusionlightcat 只是不要忘记删除任何片段引用 onDestroy() 以避免内存泄漏;)【参考方案2】:

不确定这是否是您需要的,但请查看此库。

https://github.com/Tapadoo/Alerter

【讨论】:

以上是关于Android - 在屏幕的顶部(如 Chrome 中)显示可关闭的对话框的主要内容,如果未能解决你的问题,请参考以下文章

Android:隐藏屏幕顶部边缘的视图

Android TV如何在屏幕顶部制作一个标签?

Android Grid Layout Cardview项目仅在屏幕顶部可见

Android应用的tab导航是放在屏幕顶部好还是底部好?

React Native:您如何处理使屏幕顶部的图形时间等难以看到的问题?

Android -- 如何将视图定位到屏幕外?