大家都知道,Activity可通过设置theme来实现dialog的效果,相信下面这段代码很多童鞋也都熟悉,但最近发现这段代码在我Android 7.1上面运行时,却有点Ugly!
<style name="DialogStyleBottom" parent="android:Theme.Dialog">
<!--动画-->
<item name="android:windowAnimationStyle">@style/dialogAnim</item>
<!-- 边框 -->
<item name="android:windowFrame">@null</item>
<!-- 是否浮现在activity之上 -->
<item name="android:windowIsFloating">false</item>
<!-- 半透明 -->
<item name="android:windowIsTranslucent">true</item>
<!-- 是否有标题 -->
<item name="android:windowNoTitle">true</item>
<!-- 设置背景透明 -->
<item name="android:windowBackground">@android:color/transparent</item>
<!-- 开启背景模糊效果 -->
<item name="android:backgroundDimEnabled">true</item>
</style>
使用如上主题实现Dialog化的Activity在Android 7.1运行效果:
解决办法:
使用@style/Theme.AppCompat.Dialog
替换上面的父样式android:Theme.Dialog
即可,如下:
<style name="DialogStyleBottom" parent="@style/Theme.AppCompat.Dialog">