android.content.res.Resources$NotFoundException: 资源 ID #0x7f060052 无法找到。

3
我已经用这种方法实现了我的启动画面活动。 https://android.jlelse.eu/right-way-to-create-splash-screen-on-android-e7f1709ba154 在我的Android 7.0上可以运行,但在Android 4.4.4和4.1.1上会崩溃。我查看了许多stackoverflow的线程并没有解决这个问题。
我有一个splash.xml在drawable目录中。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/waze_blue_bg" />
    <item android:top="-120dip">
        <bitmap android:src="@drawable/ill_intro_logo"
            android:gravity="center" />
    </item>
</layer-list>

styles.xml

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

AndroidManifest.xml

<activity
    android:name=".splash.SplashActivity"
    android:theme="@style/SplashTheme">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

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

SplashActivity.kt

class SplashActivity : AppCompatActivity() {

    val SPLASH_DISPLAY_LENGTH = 2000L

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        Handler().postDelayed(Runnable {
            startActivity(Intent(this, TutorialPagerActivity::class.java))
            finish()
        }, SPLASH_DISPLAY_LENGTH)

    }
}

堆栈跟踪:

 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.williams.travelshare/com.williams.travelshare.splash.SplashActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f060052
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
 at android.app.ActivityThread.access$600(ActivityThread.java:130)
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
 at android.os.Handler.dispatchMessage(Handler.java:99)
 at android.os.Looper.loop(Looper.java:137)
 at android.app.ActivityThread.main(ActivityThread.java:4745)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:511)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
 at dalvik.system.NativeStart.main(Native Method)
 Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f060052
 at android.content.res.Resources.getValue(Resources.java:1013)
 at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:330)
 at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:195)
 at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:188)
 at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:755)
 at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193)
 at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:85)
 at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:128)
 at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:149)
 at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:29)
 at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:54)
 at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:206)
 at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:185)
 at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519)
 at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71)
 at com.williams.travelshare.splash.SplashActivity.onCreate(SplashActivity.kt:14)
 at android.app.Activity.performCreate(Activity.java:5008)
 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 
 at android.app.ActivityThread.access$600(ActivityThread.java:130) 
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 
 at android.os.Handler.dispatchMessage(Handler.java:99) 
 at android.os.Looper.loop(Looper.java:137) 
 at android.app.ActivityThread.main(ActivityThread.java:4745) 
 at java.lang.reflect.Method.invokeNative(Native Method) 
 at java.lang.reflect.Method.invoke(Method.java:511) 
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
 at dalvik.system.NativeStart.main(Native Method) 
 07-13 10:44:24.791 345-347/? E/SocketStream: readFully was waiting for 716352 bytes, got 16192 

你在drawable文件夹中有ill_intro_logo这张图片吗? - Raj
你使用 Kotlin 吗? - Raj
@Raj 是的,我有不同 drawable 中的图像。我有 hdpi、mdpi、xhdpi、xxhdpi。奇怪的是它在 Android 7.0 上可以工作。 - N Sharma
你尝试过清理并重新构建你的项目吗? - Sunil P
可绘制文件夹的名称 - Raj
显示剩余11条评论
2个回答

2

2

不要使用:

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

用途:

<item android:drawable="@drawable/ic_penguin"
    android:gravity="center"
    android:width="50dp"
    android:height="50dp"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接