Android设置Activity透明背景样式

给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"/>

猜你喜欢

转载自blog.csdn.net/fengyulinde/article/details/81080569