Я пытаюсь создать заставку, которая будет отображаться во время инициализации моего приложения, используя метод диалога, обсуждаемый здесь:
http://blog.iangclifton.com/2011/01/01/android-splash-screens-done-right/
Тем не менее, независимо от того, что я делаю, экран-заставка никогда не появляется, экран просто остается черным, пока не будет полностью создан основной экран. Я вызываю m.dismiss() в конце метода setup().
Никаких ошибок не выдается, а файл launch.XML представляет собой просто линейный макет с шириной и высотой match_parent и с кнопкой, занимающей весь вид, но он никогда не появляется.
Я предполагаю, что либо контекст «ЭТОГО» должен быть чем-то другим, либо ширина/высота должны быть чем-то другим, кроме родительского соответствия... любые идеи/помощь будут оценены.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
m = new Dialog(this,R.style.SplashScreen);
m.setContentView(R.layout.launch);
m.setCancelable(false);
m.show();
setContentView(R.layout.main);
Handler h = new Handler();
h.post( new Runnable(){
public void run() {
// TODO Auto-generated method stub
setup();
}
});
Файл LAUNCH.XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button android:text="Button" android:layout_height="match_parent" android:layout_width="match_parent" android:id="@+id/button1"></Button>
</LinearLayout>
code
@Override public void onCreate (Bundle saveInstanceState) { super.onCreate (savedInstanceState); m = новый диалог (это, R.style.SplashScreen); m.setContentView(R.layout.launch); m.setCancelable (ложь); м.показать(); setContentView(R.layout.main); новый InitializeTask().execute(); } 06.10.2011