Невозможно отобразить диалоговое окно / заставку - PullRequest
0 голосов
/ 06 октября 2011

Я пытаюсь создать заставку, которая будет отображаться во время инициализации моего приложения, используя метод диалога, описанный здесь:

http://blog.iangclifton.com/2011/01/01/android-splash-screens-done-right/

Тем не менее, независимо от того, что я делаю, заставка никогда не появляется, экран остается черным до тех пор, пока не будет полностью создан главный экран .. Я вызываю m.dismiss () в конце метода setup ().

Никаких ошибок не выдается, и launch.XML - это просто линейный макет с шириной и высотой match_parent и кнопкой, открывающей представление enti, но она никогда не появляется ..

Я предполагаю, что это или контекст "ЭТОГО" должен быть чем-то другим, или ширина / высота должна быть чем-то отличным от соответствия родительскому ... любые идеи / помощь будут оценены.

@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>

1 Ответ

0 голосов
/ 06 октября 2011

ваш метод установки запущен в потоке пользовательского интерфейса.это предотвращает отображение spashscreen.Попробуйте использовать asynctask для настройки и отклоните всплеск в onPostExecute ()

...