在我的情况下,几乎全屏显示对话框(使用 ActionBar 和覆盖)

Posted

技术标签:

【中文标题】在我的情况下,几乎全屏显示对话框(使用 ActionBar 和覆盖)【英文标题】:Show Dialog nearly full screen in my case (With ActionBar & overlay) 【发布时间】:2012-07-08 22:10:21 【问题描述】:

我正在与android Support package 合作。

我创建了一个对话框:

Dialog dialog = new Dialog(activity, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);

因为我想全屏显示对话框,所以我将主题 Theme_Translucent_NoTitleBar_Fullscreen 应用到它并且它可以工作。

我有以下两个问题:

    我希望我的对话框仍然像全屏一样显示,但顶部 ActionBar 不被它覆盖,那么我应该使用什么主题?

    如何使用灰色叠加层来显示对话框覆盖的视图(假设我的第一个问题已解决)?

【问题讨论】:

找到答案:***.com/questions/11425020/… 【参考方案1】:
    我找到的唯一可行的解​​决方案是实现基于片段的伪对话。 这种方法可能会导致一些困难做阴影。至少,我没有那样做。

代码示例怎么做(一):

public class MyDialog extends Fragment 

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    // ... your code


public void show(FragmentManager fragmentManager) 
    FragmentTransaction ft = fragmentManager.beginTransaction();
    String tag = MyDialog.class.getName();
    ft.add(android.R.id.content, this, tag);
    ft.commit();


private void dismiss() 
    FragmentTransaction ft = getFragmentManager().beginTransaction();
    ft.remove(this);
    ft.commit();


【讨论】:

以上是关于在我的情况下,几乎全屏显示对话框(使用 ActionBar 和覆盖)的主要内容,如果未能解决你的问题,请参考以下文章

Android开发 - 设置DialogFragment全屏显示

PyQt5 显示全屏对话框

操作栏上方的全屏对话框

代码在没有正确顺序的情况下继续运行

webview 中的视频应在 android 中的 onShowCustomView() 方法上全屏显示

在全屏模式下显示状态栏 Ionic for android 和 iOS