來源 Geroff博客
https://blog.csdn.net/fengyulinde/article/details/81080569
內容如下:
??給Activity指定主題樣式時,如果activity繼承AppCompatActivity,則必須指定theme為Theme.AppCompat或者其子類,否則會報錯。
第一,不設置布局文件背景顏色或者設置背景顏色為透明;
第二,在styles.xml文件中添加如下樣式,可根據情況設置所需屬性,但是,android:windowBackground和android:windowIsTranslucent這兩個一定要設置,代碼如下:
<!--繼承Theme.AppCompat.NoActionBar,不顯示標題欄-->
<style name="TransparentTheme" parent="Theme.AppCompat.NoActionBar">
<!--不設置activity進入和退出動畫樣式-->
<item name="android:windowAnimationStyle">@null</item>
<!--設置窗口的背景為透明,設置透明背景必須要設置此項-->
<item name="android:windowBackground">@android:color/transparent</item>
<!--設置窗口的背景是否為半透明,設置透明背景必須要設置此項-->
<item name="android:windowIsTranslucent">true</item>
<!--設置狀態欄的背景為半透明-->
<item name="android:windowTranslucentStatus">true</item>
</style>
第三,在AndroidManifest.xml指定的activity中設置主題樣式,例如:
<activity android:name=".MainActivity" android:theme="@style/TransparentTheme"/>