Итак, я только что прочитал этот вопрос: How do I make a splash screen? Но вместо добавления фиксированной задержки (как в верхнем ответе), я хотел сохранить экран заставки, пока MainActivity (с MapFragment) грузы.Всплеск экрана Android при загрузке MainActivity
public class SplashScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
Thread t = new Thread(new Runnable() {
@Override
public void run() {
Intent i = new Intent(SplashScreen.this, MainActivity.class);
startActivity(i);
synchronized (this) {
try {
wait(3000);
System.out.println("Thread waited for 3 seconds");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
try {
t.start();
t.join();
finish();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Я добавил линию ожидания (3000), потому что я заметил, что нить недолго прожила. Однако, если я заставил его ждать дольше, есть только черный экран, который длится дольше. По какой-то причине активность SplashScreen не отображает ImageView. Что мне делать? Спасибо.
[** Всплывающие экраны являются злыми, не используйте их! **) (http://cyrilmottier.com/2012/05/03/splash-screens-are-evil-dont-use-them/) –