我正在try 通过以下方式在我的Android应用程序中实现闪屏 this article美元.我一步一步地跟踪它,但每当我试图运行这个应用程序时,它就会立即崩溃,并且在我的logcat中得到以下错误:

2019-01-05 10:46:33.682 2265-2265/com.example.khoi.parkingapp E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.khoi.parkingapp, PID: 2265
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.khoi.parkingapp/com.example.khoi.parkingapp.SplashActivity}: android.content.res.Resources$NotFoundException: Drawable com.example.khoi.parkingapp:drawable/splash_background with resource ID #0x7f07008d
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2955)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3030)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
        at android.os.Handler.dispatchMessage(Handler.java:105)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6938)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
     Caused by: android.content.res.Resources$NotFoundException: Drawable com.example.khoi.parkingapp:drawable/splash_background with resource ID #0x7f07008d
     Caused by: android.content.res.Resources$NotFoundException: File res/drawable/splash_background.xml from drawable resource ID #0x7f07008d
        at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:837)
        at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:659)
        at android.content.res.Resources.getDrawableForDensity(Resources.java:891)
        at android.content.res.Resources.getDrawable(Resources.java:833)
        at android.content.Context.getDrawable(Context.java:605)
        at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:463)
        at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:203)
        at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:86)
        at android.support.v7.app.AppCompatDelegateImpl.<init>(AppCompatDelegateImpl.java:260)
        at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:182)
        at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:520)
        at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71)
        at com.example.khoi.parkingapp.SplashActivity.onCreate(SplashActivity.kt:10)
        at android.app.Activity.performCreate(Activity.java:7183)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1220)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2908)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3030)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
        at android.os.Handler.dispatchMessage(Handler.java:105)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6938)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
     Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #8: <bitmap> requires a valid 'src' attribute
        at android.graphics.drawable.BitmapDrawable.updateStateFromTypedArray(BitmapDrawable.java:823)
        at android.graphics.drawable.BitmapDrawable.inflate(BitmapDrawable.java:754)
        at android.graphics.drawable.DrawableInflater.inflateFromXmlForDensity(DrawableInflater.java:146)
        at android.graphics.drawable.Drawable.createFromXmlInnerForDensity(Drawable.java:1322)
        at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1311)
        at android.graphics.drawable.LayerDrawable.inflateLayers(LayerDrawable.java:284)
        at android.graphics.drawable.LayerDrawable.inflate(LayerDrawable.java:194)
        at android.graphics.drawable.DrawableInflater.inflateFromXmlForDensity(DrawableInflater.java:146)
        at android.graphics.drawable.Drawable.createFromXmlInnerForDensity(Drawable.java:1322)
2019-01-05 10:46:33.682 2265-2265/com.example.khoi.parkingapp E/AndroidRuntime:     at android.graphics.drawable.Drawable.createFromXmlForDensity(Drawable.java:1281)
        at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:824)
            ... 24 more

这是我的splash_background.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>
        <bitmap
                android:gravity="center"
                android:src="@mipmap/ic_launcher"/>
    </item>

</layer-list>

Any help would be appreciated

推荐答案

Thanks to Alexander for narrowing down the error, I found this post that fixes exactly my issue:

I fixed my splash_background.xml to this:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
            android:drawable="@color/colorPrimary"/>

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

</layer-list>

Apparently, the src you need needs to be in the drawable folder and it has be a .png not a .xml

Kotlin相关问答推荐

Kotlin-elvis算子don';不使用map.get()

try 一次性插入多条记录时,JOOQ连接为空错误

Kotlin中反射中Int到可空Double的隐式转换失败

Spring Boot Kotlin 数据类未使用 REST 控制器中的默认值初始化

TzdbZoneRulesProvider 在 java.time 中不工作

在 kotlin 原始字符串中转义三重引号

Kotlin:调用 CoroutineScope.launch 与在协程内启动之间的区别

如何使用 Firebase 和 Kotlin 在文本 (Jetpack Compose) 中显示当前用户名?

如何避免键盘打开时jetpack compose 内容上升

Kotlin 可打包类抛出 ClassNotFoundException

Kotlin RxJava 可空的错误

判断 AAR 元数据值时发现的一个或多个问题:

Kotlin解构when/if语句

Kotlin中具有多个参数的绑定适配器

Kotlin 接口属性:只需要公共 getter 而没有公共 setter

如何获取Kotlin中变量的名称?

如何在Kotlin中使方法param可变?

Mocked suspend函数在Mockito中返回null

Kotlin - 具有私有构造函数的类的工厂函数

有没有办法在Kotlin中设置一个私有常量