Sto creando un'app in cui viene visualizzata una finestra di avviso quando si preme un determinato pulsante. La barra di stato deve essere nascosta, quindi ho un metodo nella mia attività:Barra di stato nascosta durante la visualizzazione di Alert Dialog Android
private void hideStatusBar(){
if (Build.VERSION.SDK_INT < 16){
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
else {
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
}
}
chiamo questo metodo nel metodo di onCreate della propria attività, e funziona bene fino a quando la finestra di avviso si apre. Non appena viene visualizzata la finestra di avviso, la barra di stato ritorna. Ho provato quanto segue:
alertDialog.show();
hideStatusBar();
che non ha fatto work.Then ho calpestato il metodo onWindowFocusChanged per la mia attività:
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
hideStatusBar();
}
che rende lo sfondo della barra di stato trasparente, ma ancora non lo fa nascondilo. C'è un modo per tenere nascosta la barra di stato quando viene visualizzata la finestra di avviso?
Hai chiamato il metodo hidestatusbar() prima di mostrare dialogo? – Arslan
Sì, ho provato a chiamare hidestatusbar() prima di chiamare alertDialog.show(), ma anche questo non ha fatto nulla – Thomas
hai fatto un tentativo usando lo stile personalizzato per le finestre di dialogo? o impostare i parametri di altezza e larghezza? – Arslan