找不到启动画面可绘制,但在项目结构中可清晰绘制

时间:2018-09-21 19:55:02

标签: android

我正在尝试按照本指南创建启动屏幕。

https://www.bignerdranch.com/blog/splash-screens-the-right-way/

我一步一步地遵循了步骤,但是,我收到一条错误消息,指出未找到splash_background.xml。

谁能解决问题?我真的不知道怎么了。

项目结构: enter image description here

清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.dhew6.shopifyinternquestion">

<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".SplashActivity"
        android:theme="@style/SplashTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

    <activity android:name=".MainActivity"
            android:theme="@style/AppTheme" />
</application>

SplashActivity:     包com.example.dhew6.shopifyinternquestion;

import android.content.Intent; 
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class SplashActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent intent = new Intent(this, MainActivity.class);
    startActivity(intent);
    finish();
}}

background_splash.xml

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

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

</layer-list>

3 个答案:

答案 0 :(得分:1)

我认为您应该仔细检查代码。
从您的图片中,我看到您有: background_splash.xml

但是您遇到了错误:

  

我一步一步地遵循了步骤,但是,我收到一条错误消息,指出未找到 splash_background.xml

也许您在某个地方输入了错误的名称。

答案 1 :(得分:0)

看起来应该是background_splash.xml而不是splash_background.xml

答案 2 :(得分:0)

试试这个人:

public class SplashActivity extends AppCompatActivity {

private static int SPLASH_TIME_OUT = 3000;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);

    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {

            Intent mainActivity = new Intent(SplashActivity.this, MainActivity.class);
            startActivity(mainActivity);
            finish();

        }
    }, SPLASH_TIME_OUT);
}
}