无法设置android:windowBackground项目上的错误通胀需要可绘制的子项

时间:2016-12-21 04:20:31

标签: android android-theme android-inflate

在我的应用程序中,为了避免冷启动,我已经为我的启动活动定义了一个主题,并将其android:windowBackground属性设置为我的一个drawable,但是我遇到了通胀错误。

  

标签需要“可绘制”标签。属性或子标签定义   可绘制

background_splash.xml:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:drawable="?attr/colorPrimary"/>

    <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/ic_launcher"/>
    </item>

</layer-list>

样式:

<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowBackground">@drawable/background_splash</item>
    </style>

清单:

 <activity
            android:name=".SplashActivity"
            android:configChanges="orientation|keyboardHidden"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/SplashTheme"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

1 个答案:

答案 0 :(得分:2)

我认为问题出在此行的background_splash.xml文件中。

 android:drawable="?attr/colorPrimary"/>

你必须改为这个

android:drawable="#0072BA"/>

在那里添加十六进制颜色代码并查看输出。