我创建了一个透明的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
时,进度对话框不会显示。注释掉此标记可以显示进度对话框,但活动不再透明。
是否有某种替代解决方案?
答案 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>