android设置Activity背景色为透明

作者: 唠嗑008 | 来源:发表于2017-07-18 21:58 被阅读1139次

    一直听说透明效果的activity,到底长啥样呢?来张图看看,上面这个白色背景的就是

    透明activity.jpg

    方法一

    在res/values/styles.xml,设置Activity的样式

     <!--透明activity的style-->
        <style name="transparent_activity">
            <item name="android:windowBackground">@color/transparent_background</item>
            <item name="android:windowNoTitle">true</item>
            <item name="android:windowIsTranslucent">true</item>
            <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
        </style>
    

    color

    <color name="transparent_background">#50000000</color>
    

    Manifest.xml中添加

     <activity
                android:name=".TransparentActivity"
                android:theme="@style/transparent_activity" />
    

    这样就给你的activity设置了透明度,当然这个color可以根据你的需要去调整透明度

    方法二

    只要在配置文件内activity属性配置内加上

    android:theme="@android:style/Theme.Translucent" 
    

    这样就调用了android的透明样式!

    备注说明

    请务必让你的Activity继承自 android.app.Activity,而不是Android.support.v7.app.AppCompatActivity。

    如果你的啊窗体女同意继承自AppCompatActivity,就会报错如下

    java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
    

    这个估计是系统的一个bug

    解决办法

    //改成activity继承自Activity:
    public class MainActivity extends Activity
    

    相关文章

      网友评论

      • Reathin:不是bug,android的theme不能应用到appcompatactivity

      本文标题:android设置Activity背景色为透明

      本文链接:https://www.haomeiwen.com/subject/tdfkkxtx.html