0

これがソースコードです。back基本的なスプラッシュ スクリーンです。またはmenuボタンが押されたら、このアクティビティを終了させたいと思います。

try {
  super.run();
  /**
  * use while to get the splash time. Use sleep() to increase
  * the wait variable for every 100L.
  */
  while (wait < welcomeScreenDisplay) {
    sleep(100);
    wait += 100;
  }
} catch (Exception e) {
  System.out.println("EXc=" + e);
} finally {
  /**
  * Called after splash times up. Do some action after splash
  * times up. Here we moved to another main activity class
  */
  startActivity(new Intent(SplashScreenActivity.this,
  StartActivity.class));
  finish();
}
4

3 に答える 3

1
   @Override
        public void onBackPressed() {
            // TODO Auto-generated method stub

            super.onBackPressed();
                finish();

    }

上記の方法を使用して、アクティビティを終了します。これは、戻るボタンまたはメニュー ボタンが押されている間にアクティビティを閉じるためのオーバーライド メソッドの 1 つです。

于 2012-08-02T10:05:33.467 に答える
0

スプラッシュ スクリーン クラスで以下を実行します。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub

    if(keyCode == KeyEvent.KEYCODE_BACK) {
        finish();
        return true;
    }
    else if(keyCode == KeyEvent.KEYCODE_MENU) {
        finish();
        return true;
    }

    else
        return super.onKeyDown(keyCode, event);
}
于 2012-08-02T10:08:35.700 に答える
0

どうぞ。スプラッシュ スクリーンのアニメーションの例を次に示します。次のアクティビティを起動する前にアニメーションを待機する新しいスレッドを初期化します。onTouchEvent および onKeyDown メソッドで確認できるように、特に停止したい場合は同期を使用します。

  image.startAnimation(a);
            timer = new Thread() {
                public void run() {
                    try {
                        synchronized (this) {
                            wait(6500); // wait 6.5sec (animation time)
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    } finally {
// After the 6.5 sec, start the new activity
                        Intent intent = new Intent(Splash.this, Login.class);
                        startActivity(intent);
                    }
                }
            };
            timer.start();

public boolean onTouchEvent(MotionEvent event) {
    synchronized (timer) {
        timer.notifyAll();
    }
    sound.release();
    finish();
    return super.onTouchEvent(event);

}

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
        synchronized (timer) {
            timer.notifyAll();
        }
        sound.release();
        finish();
    }
    return super.onKeyDown(keyCode, event);
}

それが役に立てば幸い !

于 2012-08-02T10:11:54.377 に答える