Android:将可绘制对象添加到 styles.xml 时出现 Resources$NotFoundException
Android: Resources$NotFoundException at adding drawable to styles.xml
我有这个splash_screen.xml
:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/colorPrimary"/>
<item
android:gravity="center"
android:src="@mipmap/ic_launcher"/>
</layer-list>
然后我想将它作为 <item>
添加到 styles.xml
:
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/splash_screen</item>
</style>
但这抛出:
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/splash_screen.xml from drawable resource ID #0x7f070099
当我尝试时:
<item name="android:windowBackground">@color/colorPrimary</item>
我的代码工作正常并以 colorPrimary 显示屏幕。
我该如何解决?
我尝试重建、清理、重新启动 Android Studio 和每个 post SO。没有任何帮助。
编辑
splash_screen.xml
肯定 在 drawable 文件夹中。
Android Studio 正在建议文件。
我的可绘制文件夹:
解决方案:
<item>
<bitmap
android:gravity="center"
android:src="@drawable/your_image" />
</item>
在您的代码中添加 @drawable/your_image 而不是 @mipmap/your_image。
您必须像在第一个项目中那样在项目 标签 中使用 android:drawable
而不是 android:src
。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/colorPrimary"/>
<item
android:gravity="center"
android:drawable="@mipmap/ic_launcher"/>
</layer-list>
除此之外,总是post异常的完整堆栈跟踪。实际异常清楚地表明问题如下:
Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line
6: tag requires a 'drawable' attribute or child tag defining a drawable
我有这个splash_screen.xml
:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/colorPrimary"/>
<item
android:gravity="center"
android:src="@mipmap/ic_launcher"/>
</layer-list>
然后我想将它作为 <item>
添加到 styles.xml
:
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/splash_screen</item>
</style>
但这抛出:
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/splash_screen.xml from drawable resource ID #0x7f070099
当我尝试时:
<item name="android:windowBackground">@color/colorPrimary</item>
我的代码工作正常并以 colorPrimary 显示屏幕。
我该如何解决?
我尝试重建、清理、重新启动 Android Studio 和每个 post SO。没有任何帮助。
编辑
splash_screen.xml
肯定 在 drawable 文件夹中。
Android Studio 正在建议文件。
我的可绘制文件夹:
解决方案:
<item>
<bitmap
android:gravity="center"
android:src="@drawable/your_image" />
</item>
在您的代码中添加 @drawable/your_image 而不是 @mipmap/your_image。
您必须像在第一个项目中那样在项目 标签 中使用 android:drawable
而不是 android:src
。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/colorPrimary"/>
<item
android:gravity="center"
android:drawable="@mipmap/ic_launcher"/>
</layer-list>
除此之外,总是post异常的完整堆栈跟踪。实际异常清楚地表明问题如下:
Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line 6: tag requires a 'drawable' attribute or child tag defining a drawable