如何在Android 6.0上使用Theme.AppCompat.Light.Dialog?

时间:2016-05-25 10:54:02

标签: android android-activity android-appcompat appcompatactivity

我想显示看起来像对话框的活动。我正在使用从Theme.AppCompat.Light.Dialog继承的主题来实现这一目标。此解决方案在Android 4.x和Android 5.x上运行良好。不幸的是,在Android 6上它没有。我看到黑色背景而不是透明度。

Android 6 on the left, Android 5 on the right

主题代码:

<style name="AppTheme.Popup" parent="Theme.AppCompat.Light.Dialog">
        <item name="windowNoTitle">true</item>
</style>

活动代码 - 刚刚从AppCompatActivity扩展

我试图使用其他设置进行修复:

    <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>
    <item name="android:backgroundDimEnabled">false</item>

没有任何成功:(

1 个答案:

答案 0 :(得分:0)

我认为你需要子主题Theme.AppCompat.Light.Dialog.Alert而不是Theme.AppCompat.Light.Dialog,所以你的主题将是:

<style name="AppTheme.Popup" parent="Theme.AppCompat.Light.Dialog.Alert">
        <item name="windowNoTitle">true</item>
</style>