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 Grid Layout Cardview项目仅在屏幕顶部可见