2014-07-03 106 views
1

我有一个主题来展示我作为对话的活动,使窗口背景变得透明和暗淡,并且没有窗口标题等,所有这些项目对于我的活动外观都是必不可少的。问题是当我需要显示一个活动来描述某些方面在后台形成另一个活动时,结果只是当时显示的活动。 当我从开始活动B和活动A,活动A隐藏和活动B显示活动B由于对话框主题而显示在活动A上时,我的应用中的每个活动都具有相同的对话主题。这只发生在Android 4.4.2。 我已经测试了主题声明中项目的不同组合,但没有任何更改,即使我已经尝试了意向标志,当我开始活动B,使意图FLAG_ACTIVITY_NEW_TASK和其他人相信可以工作,但没有再次。 在我做的一个测试中,如果活动B从活动A开始,但活动A不是对话活动,则活动B显示活动A的罚款。我的问题是如何启动对话活动形式另一个对话活动没有隐藏。如何在android 4.4.2中显示另一个对话框活动的对话框活动?

我的对话主题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> 

在manifiest每个活动声明有这个主题在Android:主题。

提前致谢,并对我的英语不好。

回答

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>