2010-02-04 2 views
5

У меня проблема с моим приложением. Я использую полный экран вариант, как так:Android: скачкообразный эффект строки состояния

public void setFullscreen() { 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
     WindowManager.LayoutParams.FLAG_FULLSCREEN); 
} 

Но, позже, во время игры, когда я показываю AlertDialog для справки/ информации, строка состояния возвращается в течение доли секунды и снова исчезает создание эффект мигания или прыжка. Кроме того, Диалог сам по себе не центрирован, как будто он думал, что в строке была строка состояния.

Вот как отобразить диалоговое окно:

protected Dialog onCreateDialog(int id) { 
TextView tv; 

switch (id) { 
case MENU_HELP: 
     tv = new TextView(this); 
        tv.setText(R.strings.help_msg); 

     return new AlertDialog.Builder(BlackJackView.this) 
     .setIcon(android.R.drawable.ic_menu_help) 
     .setTitle("How-To") 
     .setView(tv) 
     .setPositiveButton("OK", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int whichButton) { 
          /* User clicked OK so do some stuff */ 
        } 
     }) 
     .create(); 
    } 

    ……… 

    } 
    return null; 
} 

Кто-нибудь знает, что может быть причиной этого появления/исчезновения? Как я могу остановить это скачкообразное поведение?

Благодарим за помощь.

+0

У меня точно такая же проблема, вы нашли решение? – fhucho

ответ

9

Просто установите окно Диалога в полноэкранном режиме слишком

Dialog mPreviewDialog = new Dialog(this); 

Window dialog_window = mPreviewDialog.getWindow(); 
dialog_window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
mPreviewDialog.show() 

Он исправляет мерцание строки состояния.