Показать макет перед конечным методом - PullRequest
0 голосов
/ 19 июля 2011

Мне нужно показывать раскладку за несколько секунд, и вот мой код:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.intro);

    SystemClock.sleep(2000);
    finish();
}

, но раскладка видна только после метода завершения, другими словами, она отображается через две секунды, а недо двух секунд.

Мне нужно показать макет за 2 секунды и после закрытия.

1 Ответ

1 голос
/ 12 августа 2011

Мне удалось это сделать, если у кого-то возникли те же сомнения, я надеюсь, что это поможет.

публичный класс Main extends Activity {

private ProgressBar pb;
private Handler h = new Handler();
private int r;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}

@Override
protected void onStart() {
    super.onStart();
    pb = (ProgressBar) findViewById(R.id.pbIntro);
    new Thread(new Runnable() {

        @Override
        public void run() {
            for(r = 0;r < 30001;r = r + 1){
                h.post(new Runnable() {

                    @Override
                    public void run() {
                        pb.setProgress(r);
                    }
                });
            }
            startActivity(new Intent(Main.this, Menu.class));
            finish();
        }
    }).start();
}

}

...