Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 全屏全息对话_Android_Dialog - Fatal编程技术网

Android 全屏全息对话

Android 全屏全息对话,android,dialog,Android,Dialog,我在Android中遇到了一个严重的警报对话框问题。我已经扩展了DialogFragment,我希望对话框是全屏的。在多次尝试失败后,我发现我可以通过设置对话主题来获得全屏对话。我是这样做的 ContextThemeWrapper context=newcontextThemeWrapper(getActivity(),android.R.style.Theme\u Holo\u NoActionBar\u全屏) AlertDialog.Builder=新建AlertDialog.Builder

我在Android中遇到了一个严重的警报对话框问题。我已经扩展了DialogFragment,我希望对话框是全屏的。在多次尝试失败后,我发现我可以通过设置对话主题来获得全屏对话。我是这样做的

ContextThemeWrapper context=newcontextThemeWrapper(getActivity(),android.R.style.Theme\u Holo\u NoActionBar\u全屏)

AlertDialog.Builder=新建AlertDialog.Builder(上下文)

因为我读过这篇文章,所以它与旧的API兼容。但可悲的是,它只适用于某些主题,而不适用于全息主题。例如,如果我使用Theme_Black_NoActionBar_全屏,它将是全屏的,但如果我使用Theme_Holo_NoActionBar_全屏,甚至是Theme_DeviceDefault_NoActionBar_全屏,它将不会是全屏的。每当涉及Holo时,对话框不会填满屏幕

我甚至尝试定义自己的风格,使用以下设置扩展Theme.Holo:

<item name="android:windowIsFloating">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowBackground">@null</item>
    <item name="android:windowFrame">@null</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowAnimationStyle">@null</item>

    <item name="android:windowIsTranslucent">true</item>
false
真的
@空的
@空的
@空的
@空的
真的
但是,即使显式设置全屏、空帧和背景等也无济于事,对话框仍然拒绝填充屏幕宽度(我正在手机上以横向模式进行测试)


我想得到一些帮助,我一整天都在努力让它工作。首先,我尝试使用LayoutParams设置窗口属性,但这似乎不适用于DialogFragment。谢谢。

警报对话框
并非全屏显示。为了实现这一点,您应该只使用
对话框片段
附带的标准
对话框
。您需要添加自己的布局,以便添加按钮来模拟
警报对话框
。更多的工作…是的,但是所有那些android.R.style.Theme\u DeviceDefault\u Dialog\u*主题都会正常工作。

全屏对话框称为活动:)你为什么不这样做?好的,不是完全全屏,我仍然希望在对话框窗口周围留一个空白。这是你通过主题(黑色)(NoActionBar)全屏获得的。您将得到一个窗口,该窗口使用了屏幕的大部分宽度,并带有一个边距。但对于全息主题,我只得到一个只有屏幕一半宽的窗口。对话框包含文本,因此如果使用更大的宽度,效果会更好。在任何情况下,我尝试过的任何东西都不允许我以任何方式改变对话框的宽度。当然,我应该能够以某种方式影响宽度,而不是必须为我选择宽度?非常感谢,它现在起作用了。但是还有一个小问题,如果不在对话框使用的线性布局上设置android:minWidth=“1000dp”,它将无法填充屏幕。但至少它起作用了,谢谢。