Android: ресурсы $ NotFoundException при добавлении отрисовываемых стилей. xml - PullRequest
0 голосов
/ 15 января 2020

У меня есть 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 и каждый пост на SO. Ничего не помогло.

РЕДАКТИРОВАТЬ

splash_screen.xml - это определенно в папке для рисования.

enter image description here

Android Studio предлагает файл.

Моя папка для рисования:

enter image description here

Ответы [ 2 ]

1 голос
/ 15 января 2020

Вы должны использовать 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>

Кроме этого , всегда опубликовать полную трассировку стека исключений. Фактическое исключение ясно указывает на проблему, как показано ниже:

Вызывается: org.xmlpull.v1.XmlPullParserException: двоичный файл XML строка файла 6: тег требует атрибут «drawable» или дочерний тег, определяющий drawable

1 голос
/ 15 января 2020

Решение:

     <item>
          <bitmap
                 android:gravity="center"
                android:src="@drawable/your_image" />
      </item>

Добавьте в свой код @ drawable / your_image вместо @ mipmap / your_image.

...