如何在应用程序中添加2个Splashscreen

时间:2015-03-29 01:15:12

标签: java android

  1. 5秒后隐藏的第一个闪屏。
  2. 我想在进入MainActivity之前添加第二个类似第一个的启动画面。
  3. in @ drawable / background_1< =这是我添加的第一个图像启动画面。
  4. in @ drawable / background_2< =我需要在第二个闪屏中添加此图像。
  5.   

    splash.xml

        <?xml version="1.0" encoding="utf-8"?>
            <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:background="@drawable/background_1" >
    
            </RelativeLayout>
    
      

    SplashScreen.java

        package org.sbynight.app;
    
        import android.app.Activity;
        import android.os.Bundle;
        import android.content.Intent;
        import android.util.Log;
        import android.view.Window;
        import android.view.WindowManager;
    
        public class SplashScreen extends Activity {
               private static String TAG = SplashScreen.class.getName();
               private static long SLEEP_TIME = 5;    // Sleep for some time
    
               @Override
               protected void onCreate(Bundle savedInstanceState) {
                  super.onCreate(savedInstanceState);
    
                  this.requestWindowFeature(Window.FEATURE_NO_TITLE);    // Removes title bar
                  this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);    // Removes notification bar
    
                  setContentView(R.layout.splash);
    
                  // Start timer and launch main activity
                  IntentLauncher launcher = new IntentLauncher();
                  launcher.start();
               }
    
               private class IntentLauncher extends Thread {
                  @Override
                  /**
                   * Sleep for some time and than start new activity.
                   */
                  public void run() {
                     try {
                        // Sleeping
                        Thread.sleep(SLEEP_TIME*1000);
                     } catch (Exception e) {
                        Log.e(TAG, e.getMessage());
                     }
    
                     // Start main activity
                     Intent intent = new Intent(SplashScreen.this, MainActivity.class);
                     SplashScreen.this.startActivity(intent);
                     SplashScreen.this.finish();
                  }
               }
            }
    


    解决问题 - 发布更新
    1.我创建了一个“SplashScreen2.java”+“Splash2.xml”
    2.我添加了@ drawable&gt; background_2(启动画面的第二个图像)
    3.我添加到In Manifest splash2 .....

      
        
    1. 在我的SplashScreen.java中,我删除了以下代码:
    2.   
         // Start main activity
         Intent intent = new Intent(SplashScreen.this, MainActivity.class);
         SplashScreen.this.startActivity(intent);
         SplashScreen.this.finish();
    
      
        
    1. 在我的SplashScreen.java中,替换为此代码:
    2.   
         /**** Create Thread that will sleep for 5 seconds ****/        
        Thread background = new Thread() {
            public void run() {
    
                try {
                    // Thread will sleep for 1 seconds
                    sleep(1*1000);
    
                    // After 1 seconds redirect to another intent
                    Intent i=new Intent(getBaseContext(),SplashScreen2.class);
                    startActivity(i);
    
                    //Remove activity
                    finish();
    
                } catch (Exception e) {
    
                }
            }
        };
    
        // start thread
        background.start();
    
    1. 在我的Splashscreen2.java中,我添加了相同的代码,如SplashScreen.java,

        

      现在可以使用此代码启动MainActivity.class

      //开始主要活动  Intent intent = new Intent(SplashScreen2.this,MainActivity.class);  SplashScreen2.this.startActivity(意向);  SplashScreen2.this.finish();

    2.   

      解决了问题!我现在有2个SplashScreen!

2 个答案:

答案 0 :(得分:0)

此用例违反Android设计指南。

请考虑您的用户如何使用您的应用获得良好的用户体验,并快速访问您的内容。

Designing Help into Your App

  

除了非常有限的情况外,不要显示未经请求的帮助

     

当然,你希望每个人都能快速学习绳索,发现绳索   很酷的功能,并充分利用您的应用程序。所以你可能会   试图提供一次性介绍性幻灯片,视频或启动   在首次打开应用时向所有新用户显示屏幕。或者你可能是   吸引到显示有用的文本气泡或对话框的想法   用户第一次与某些功能进行交互。

     

在几乎所有情况下,我们建议不要使用这些方法,因为:

     

他们被打断了。人们会急于开始使用您的应用,   你放在他们面前的任何东西都会感觉像是一个障碍或者   尽管你的意图很好,但可能是一种烦恼。因为他们   没有提出要求,他们可能不会密切关注它。   他们通常没有必要。如果您对可用性有疑问   您的应用程序的方面,不要只是帮助解决问题。试着解决   它在UI中。应用Android设计模式,样式和构建   块,你将在很大程度上减少教育你的需要   用户。

来源:http://developer.android.com/design/patterns/help.html

答案 1 :(得分:0)

我真的不明白你为什么要添加第二个&#34;闪屏&#34;。如果您确实想要这样做,为什么不将MainActivity设为SplashScreenActivity,然后从那里转移到新活动。