style.xml android:windowIsTranslucent对话框没有显示

时间:2016-05-06 03:41:42

标签: android android-activity android-appcompat

我创建了一个透明的AppCompatActivity,它是一种用于其他活动的“启动器”活动。此启动器活动使用与其他stackoverflow问题一样的透明样式。

<style name="Theme.AppCompat.Translucent" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
</style>


<style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
        <item name="colorAccent">@color/primary</item>
</style>

有时,此启动器活动需要显示进度对话框。但是,当我使用标记android:windowIsTranslucent时,进度对话框不会显示。注释掉此标记可以显示进度对话框,但活动不再透明。

是否有某种替代解决方案?

1 个答案:

答案 0 :(得分:0)

我没有尝试过这个解决方案,但我认为这可行。 只需在<item name="android:windowIsTranslucent">false</item>

中添加AppCompatAlertDialogStyle即可

解决方案就像

<style name="Theme.AppCompat.Translucent" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item>
</style>


<style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
        <item name="colorAccent">@color/primary</item>
        <item name="android:windowIsTranslucent">false</item>
</style>