如何在android 4.4.2中显示另一个对话框活动的对话框活动?

时间:2014-07-03 17:24:58

标签: android android-activity dialog themes

我有一个主题,将我的活动显示为对话框,使窗口背景半透明和暗淡,没有窗口标题等等。所有这些项目对我的活动外观至关重要。问题是当我需要在后台显示描述某些方面形成另一个活动的活动时,结果只是当时显示的活动。 我的应用中的每个活动都具有相同的对话框主题,当我从活动A和活动A开始活动时,活动A隐藏,活动B显示,当活动B由于对话主题而显示在活动A上时。这只发生在android 4.4.2。 我已经测试了主题声明中项目的差异组合,但没有任何改变,即使我在启动活动B时尝试使用intents标志,使意图FLAG_ACTIVITY_NEW_TASK,以及其他我认为可以工作但是没有其他的。 在我所做的测试中,如果活动B是从活动A开始,但活动A不是对话活动,那么活动B显示对活动A很好。我的问题是如何从另一个开始对话活动对话活动没有隐藏。

我的对话主题decalration:

<style name="DialogStyle" parent="@android:style/Theme.DeviceDefault.Dialog.NoActionBar">
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:backgroundDimEnabled">true</item>
</style>

最明显的每个活动声明都在android:theme中有这个主题。

提前致谢,对我糟糕的英语感到抱歉。

1 个答案:

答案 0 :(得分:0)

最后我解决了我的问题...... 正如我在上面的问题中所说,如果活动B是从活动A开始的,但活动A不是对话活动,那么活动B在活动A上显示正常。所以我在@android中进行了搜索: style / Theme。*,找到一个允许我将对象显示为对话而不是真正的对话框主题,然后将此主题应用于我的启动活动,此处所有剩余的活动表格将与我的DialogStyle一起显示。所以这就是我找到的主题:

<style name="CompatibleDialogStyle" parent="@android:style/Theme.Holo.Wallpaper.NoTitleBar">
        <item name="android:backgroundDimEnabled">true</item> 
        <item name="android:windowAnimationStyle">@android:style/Animation.InputMethod</item>
</style>