2012-03-15 4 views

risposta

5

Non è possibile sbarazzarsi della barra di sistema sui tablet. È possibile sbarazzarsi della barra di navigazione e della barra di stato sui telefoni. Leggere la sezione "Controlli per la visibilità dell'interfaccia utente di sistema" di the Android 4.0 SDK release notes.

+0

Ok ... non riesco a nasconderlo ... ma posso bloccare/ignorare le azioni dei pulsanti? – NachoMV

+3

Perché il lettore video è a schermo intero e nasconde la barra di stato? – NachoMV

+0

Il lettore video non nasconde la barra di sistema sui tablet ICS. – CommonsWare

11

Non è possibile ottenere il 100% dello schermo intero vero in Android 4.0.

Utilizzare la seguente per oscurare la barra di notifica (aka. Barra di stato, barra di sistema)

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); 

E utilizzare questa nasconderlo

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 

E, se immagino destra, si è cercando di ottenere una "modalità kiosk". Puoi avere un piccolo aiuto con un'app chiamata "surelock". Questo blocca tutte le azioni "home" e "back".

Non è ancora perfetto, ma questo potrebbe essere il meglio che possiamo ottenere con Android ICS.

+1

Mi piacerebbe davvero sapere come Surelock sia in grado di nascondere il pulsante Home e il pulsante indietro per farlo nella mia app. Puoi aiutare? – Pascal

+0

@Pascal SureLock sostituisce il programma di avvio predefinito, quindi quando si preme il pulsante back o home si ritorna a SureLock. Hanno anche un'opzione che cerca i processi non autorizzati e li uccide. –

7

È possibile nascondere la barra di stato su un dispositivo Android radicata. Il programma Hidebar esegue questa operazione eliminando il processo systemui. Il programma è open source, quindi puoi leggere tutto su di esso nel source code.

Vedere http://ppareit.github.com/HideBar/.

+0

NON tentare di farlo su Android 4.0 ICS dato che SystemUI è responsabile di quasi tutto e risulterà in un comportamento irregolare. Reimposta lo sfondo del sistema, rimuove i pulsanti software in basso, ecc. – Tom

+1

il suggerimento di @ppareit funziona +1, ma uno dovrebbe rendersi familiare con i rischi coinvolti –

+1

Grazie a @ile. Le versioni più recenti di HideBar hanno un nuovo e più avanzato metodo per nascondere la barra di sistema. HideBar supporta anche un'interfaccia che utilizza "Intenti", in modo che altre applicazioni possano chiedere di nascondere la barra di sistema. Sono state aggiunte autorizzazioni, in modo che l'utente sappia quali applicazioni sono autorizzate a nascondere la barra di sistema. Se hai bisogno di questo nella tua applicazione, è meglio contattarmi utilizzando l'indirizzo fornito sul sito di HideBar. – ppareit

1

Per nascondere la barra di stato e la barra di navigazione in Android 4.0, dovremmo usare codice qui sotto:

LinearLayout layout = (LinearLayout)findViewById(R.id.layout); 
layout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 
1

Basandosi sulle risposta di ppareit.

Non si può nascondere la barra di navigazione sulla maggior parte dei dispositivi azionari. Tuttavia, c'è un problema se il rooting del dispositivo è un'opzione. Ecco i passaggi per una soluzione:

  1. Root device

  2. Install and run Busybox (required for taking full advantage of rooted device)

  3. Install HideBar from resource

In HideBar c'è un'opzione per l'esecuzione in modalità 'chiosco', in quale non c'è modo di ri-visualizzare la barra di navigazione. Inutile dire che devi fare attenzione a questo con questo.

4

So che la mia risposta arriva un po 'tardi, ma dopo informazioni da vari luoghi di assemblaggio, sono arrivato fino a questo, che funziona solo i dispositivi ON ROOTED:

private void KillStatusBar() 
{ 
    Process proc = null; 

    String ProcID = "79"; //HONEYCOMB AND OLDER 

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){ 
     ProcID = "42"; //ICS AND NEWER 
    } 

    try { 
     proc = Runtime 
       .getRuntime() 
       .exec(new String[] { "su", "-c", 
         "service call activity "+ProcID+" s16 com.android.systemui" }); 
    } catch (IOException e) { 
     Log.w(TAG,"Failed to kill task bar (1)."); 
     e.printStackTrace(); 
    } 
    try { 
     proc.waitFor(); 
    } catch (InterruptedException e) { 
     Log.w(TAG,"Failed to kill task bar (2)."); 
     e.printStackTrace(); 
    } 

} 

Questo dovrebbe eliminare la barra inferiore su qualsiasi radicato dispositivo e trasformarlo in modalità "chiosco".