Autore Topic: Nascondere Top Bar Android  (Letto 496 volte)

Offline AlessioElia

  • Nuovo arrivato
  • *
  • Post: 29
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Nascondere Top Bar Android
« il: 12 Aprile 2014, 09:22:21 CEST »
0
Ciao ragazzi,

Innanzitutto buon weekend a tutta la community  :D

Ho un problema su una mia app.
Gli utenti hanno la necessità di non far uscire la barra in alto di Android (Quella con lo stato della batteria, le notifiche ecc.) che tra l'altro non ho ben capito se si chiama Status Bar o Action Bar.

Il problema è sorto con l'aggiornamento dei dispositivi a Jelly Bean. Prima con ICS non avevano quella barra.

Sono riuscito a impostare lo stato dell'Activity a fullscreen con questo snippet trovato sul web ma comunque al click in alto esce la barra che si posiziona al di sopra della mia activity.
Codice (Java): [Seleziona]
View decorView = getWindow().getDecorView();
        int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
        decorView.setSystemUiVisibility(uiOptions);
        // Remember that you should never show the action bar if the
        // status bar is hidden, so hide that too if necessary.
        ActionBar actionBar = getActionBar();
        actionBar.hide();

Grazie in anticipo,
Alessio.

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
  • Respect: +118
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:Nascondere Top Bar Android
« Risposta #1 il: 12 Aprile 2014, 15:41:40 CEST »
0
Il comportamento è corretto così come descritto da Google qui : Hiding the Status Bar | Android Developers
Ricordati che stai operando su una View, nel tuo caso sulla view che sta "sopra" a tutte le altre.
Quando la view perde il focus, setSystemUiVisibility viene ripristinato, quindi se vuoi che la Status Bar venga nascosta quado l'utente interagisce con la View, ma sia comunque disponibile, devi gestire i cambi di visibilità implementando anche il suo listener : View.OnSystemUiVisibilityChangeListener | Android Developers
Puoi trovare un esempio completo nella documentazione ufficiale : View | Android Developers

Per quanto riguarda versioni precedenti alla 4.1 puoi usare
Codice (Java): [Seleziona]
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);

Che per onor di cronaca non è stato deprecato, quindi funziona tranquillamente anche con versioni superiori alla 4.0. Tuttavia secondo quanto descritto dalle guide ufficiali Android, è consigliato usare le due metodologie per versioni uguali o superiori alla 4.1(API Level 16)

Offline AlessioElia

  • Nuovo arrivato
  • *
  • Post: 29
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Nascondere Top Bar Android
« Risposta #2 il: 25 Aprile 2014, 20:39:28 CEST »
0
Ciao Teskio,

Innanzitutto grazie per la risposta.

Ho fatto delle prove ma il risultato è sempre il medesimo: La status bar è "Nascosta" ma quando ci clicco sopra riappare.

Il mio obiettivo è quello di non farla riapparire. E a quanto pare non è possibile a livello di applicazione.

Al momento sto studiando però come ci riesce l'app SureLock. A quanto pare hanno messo su un service apposito per gestire questa cosa.

Qualcuno ha delle soluzioni a questa problematica?