2016-06-30 5 views
-2

チュートリアルhereのようにスプラッシュ画面を実装していますが、スプラッシュ画面はすぐに消えてしまいます。たとえば、1秒後に新しいアクティビティを開始するタイマーを含める最良の方法は何でしょうか。 My Splash画面のアクティビティファイルは次のようになります。timer java start activity

public class SplashActivity extends AppCompatActivity { 

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

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

このアプローチでは、描画可能なスタイルのリソースを使用しています。

+0

あなたが使用することができます 'handler.postDelayed 'それをあなたが望むタイムアウトを設定し、 ewの活動。基本的に以下に示す答え:D – Vucko

+0

http://stackoverflow.com/questions/8958459/how-to-show-a-splash-screen-for-3-seconds-on-android – Miles

+0

http://stackoverflow.com/質問/ 5486789/how-do-make-a-splash-screen –

答えて

1

コード: -

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

public class Splash extends AppCompatActivity { 
    // Splash screen timer 

    private static int SPLASH_TIME_OUT = 3000; 

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

     // Showing splash screen with a timer. 
     new Handler().postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       // Start your application main_activity 
       Intent i = new Intent(Splash.this, MainActivity.class); 
       startActivity(i); 

       // Close this activity 
       finish(); 
      } 
     }, SPLASH_TIME_OUT); // Timer 
    } 
} 
1

最も簡単な方法は、Handlerを使用することです:スプラッシュ用

new Handler().postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      Intent intent = new Intent(this, MainActivity.class); 
      startActivity(intent); 
      finish(); 
     } 
    }, DateUtils.SECOND_IN_MILLIS); 
0
public class SplahActivity extends Activity { 

    public static final int Tick = 1000; 
    public static final int Complete = 5000; 

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

     new CountDownTimer(Complete, Tick) { 

      public void onTick(long millisUntilFinished) { 
      } 

      public void onFinish() { 
       //start Activity 
       Intent intent = new Intent(this, MainActivity.class); 
       startActivity(intent); 
       finish(); 
      } 
     }.start(); 
    } 
0

使用この

timerHandler = new Handler(); 
getmi_runnable = new Runnable() { 
@Override 
public void run() { 
    Intent intent = new Intent(FirstActivity.this, SecondActivity.class); 
    startActivity(intent); 
    finish(); 
    } 
}; 
timerHandler.postDelayed(getmi_runnable, 4000L);