Android 启动画面在真实设备上不显示

标签 android android-studio splash-screen

我正在我的 Galaxy s5 和 s6 上尝试我的应用程序,但在此设备上我的应用程序不显示启动屏幕(来自 ImageView 的背景)(应用程序显示白屏并转到主屏幕)。我在 android studio 上尝试了一个虚拟设备,它工作没有问题。谁能知道为什么会发生这种情况以及我该如何解决这个问题?

我的 SplashScreen 类 -

    protected void onCreate(Bundle savedInstanceState) {

    //    hide action bar from the activity
    android.support.v7.app.ActionBar actionBar = getSupportActionBar();
    actionBar.hide();

    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash_screen);

    /****** Create Thread that will sleep for 6 seconds *************/
    Thread background = new Thread() {
        public void run() {

            try {
                // Thread will sleep for 6 seconds
                sleep(6 * 1000);

                // After 5 seconds redirect to another intent
                Intent i = new Intent(getBaseContext(), MainActivity.class);
                overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
                startActivity(i);

                //Remove activity
                finish();

            } catch (Exception e) {

            }
        }
    };

    // start thread
    background.start();
}

谢谢!

最佳答案

根据您想要执行的操作,您有 2 个选项。

选项 1

您只想显示启动屏幕并继续。后台不会发生大量数据加载/准备。

在本例中,创建一个 SplashActivity,将您的图像作为背景或在 ImageView 内。在 SplashActivity 的 onCreate() 内部执行以下操作:

Handler handler = new Handler();
handler.postDelayed(new Runnable(){
     startActivity(SplashActivity.this, MainActivity.class);
}, SPLASH_TIMEOUT);

其中 SPLASH_TIMEOUT 是您想要显示启动屏幕的时间(以毫秒为单位)。

选项 2

在后台加载数据时显示启动屏幕。

在本例中,将 ImageView 放在 View 层次结构的顶部,并使其宽度和高度 match_parent。给它一些要从代码中引用的 id。

完成加载/获取数据后,您可能会收到一些回调,通知您一切都已完成,只需在该回调中执行

splashImage.setVisibility(View.GONE);

就是这样!

关于Android 启动画面在真实设备上不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37897164/

相关文章:

android-studio - 在 Android Studio 中的 2 个项目之间共享代码

android - MainActivity 在 SplashScreen 结束之前开始

android - 应用程序从 SplashScreenActivity(全屏)移动到 MainActivity(非全屏)时出现

javascript - GetUserMedia 预览视频卡在第一帧

Android Studio 0.4.3 - 在根项目中找不到任务 'assemble'

android - 我怎样才能得到我在android中知道其包名的其他应用程序的uid?

java - 指定要抓取的数据 - Jsoup + Android Studio

iphone - 更新启动/启动不工作

java - 如何连接到android内部本地主机

java - android 中 uiautomator.jar 中删除的方法