applicazione a schermo intero android

ho due domande:

  1. come posso gestire la mia applicazione a schermo intero
  2. come lettori video video a schermo intero.

ho provato un sacco e ancora lottando per raggiungere questo obiettivo, ma non riusciva a trovare una soluzione.

elenco di soluzione che ho trovato, ma sono non soddisfa i miei requisiti

  • questo nasconde solo la barra di notifica.

    requestWindowFeature(Window.FEATURE_NO_TITLE);

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

  • nasconde anche solo la barra di notifica

    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
  • è di basso profilo la barra di navigazione non nascondendo.

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

  • nessun effetto sulla mia attività.

    anyView.setSystemUiVisibility(Vista.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

nota che:

  • io non sto parlando di un dispositivo di radicamento,quindi, si prega di fornire quelle soluzioni che possono funzionare senza un dispositivo di radicamento.
  • io non sto parlando di nascondere solo la barra di notifica,ma a schermo intero, nascondendo sia la barra di navigazione e la barra di notifica troppo.
  • sto parlando di jelly beans api 4.1 o superiore alla versione 4.1 di android
  • e si prega di dare risposte con il codice.

dopo la mia ricerca e le vostre risposte, sto ottenendo questo:

applicazione a schermo intero android

ma la mia applicazione dovrebbe essere simile a questo senza barra di navigazione:

applicazione a schermo intero android

io non voglio che il sistema barra di navigazione visibile nel mio app.

  • Non è la tua app in esecuzione a schermo intero quando dove non c’è la barra di notifica?!
  • Si può guardare utilizzando setSystemUIVisibility(int) e i vari flag da utilizzare come SYSTEM_UI_FLAG_LOW_PROFILE È possibile utilizzare diversi contrassegni in combinazione con l’altro, separandoli con |
  • trovate la vostra risposta?
  • non ancora majid golshadi
  • C’è un modo per nascondere il sistema di barra di navigazione durante l’avvio della mia applicazione quando la schermata iniziale viene visualizzata ? A quel punto, la OnCreateView() di Attività non è stato chiamato di sicurezza. Tutto ciò che viene visualizzato è venuta dal mio impostazioni del tema per l’attività
InformationsquelleAutor Hamad | 2013-08-29



8 Replies
  1. 29

    Io non sono sicuro di quello che stai dopo, ma il seguente nasconde la barra di Notifica, e il Morbido tasti di Navigazione (come visto su Google Nexus-dispositivi), in modo che l’applicazione essenzialmente è “full screen”.

    Edit2

    In Android 4.4 API (19) Google ha introdotto il nuovo Coinvolgente modalità che può nascondere lo stato & navbar e consentire davvero a tutto schermo interfaccia utente.

    //This snippet hides the system bars.
    private void hideSystemUI() {
        //Set the IMMERSIVE flag.
        //Set the content to appear under the system bars so that the content
        //doesn't resize when the system bars hide and show.
        mDecorView.setSystemUiVisibility(
                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                  | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                  | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                  | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION //hide nav bar
                  | View.SYSTEM_UI_FLAG_FULLSCREEN //hide status bar
                  | View.SYSTEM_UI_FLAG_IMMERSIVE);
    }
    
    //This snippet shows the system bars. It does this by removing all the flags
    //except for the ones that make the content appear under the system bars.
    private void showSystemUI() {
        mDecorView.setSystemUiVisibility(
                   View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                 | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                 | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
    }

    Di riferimento:

    https://developer.android.com/training/system-ui/immersive.html

    Edit:

    Testato su Android 4.3 API (18) e Android 4.1 API (16) con Morbidi tasti Nav.

    @Override
    protected void onCreate(Bundle b) {
        super.onCreate(b);
    
        setContentView(R.layout.main);
    
        int mUIFlag = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                    | View.SYSTEM_UI_FLAG_LOW_PROFILE
                    | View.SYSTEM_UI_FLAG_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
    
        getWindow().getDecorView().setSystemUiVisibility(mUIFlag);
    }

    Per ulteriori informazioni leggere su http://developer.android.com/reference/android/view/View.html#setSystemUiVisibility(int)

    • Qual è il motivo per il downvote?
    • Lol non importa la giù voti 😀 Per KitKat o più utilizzare questa singola riga di codice nella onCreate – getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION|View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); Fos versione del sistema operativo di seguito KitKat API(19) – Utilizzare le altre bandiere
    • non funziona nel mio caso,è proprio di basso profilo @chrkad
    • Non è necessario ri-chiamare il setSystemUiVisibility() metodo di ogni Attività.onWindowFocusChanged(vero) si chiama?
    • il lavoro sulla 4.2.2. cool. grazie.
    • funziona alla grande su 5.1, grazie.
    • Dove si imposta l’interfaccia utente flag fa la differenza. Se si nasconde il sistema di barre nella vostra attività di onCreate() il metodo e l’utente preme il tasto Home, il sistema di barre riapparirà. Quando l’utente riapre l’attività, onCreate() non si chiama, in modo che il sistema bar rimarrà visibile. Se si desidera che il sistema di modifiche dell’interfaccia utente a persistere come l’utente si sposta in e out della vostra attività, impostare UI bandiere in onResume() o onWindowFocusChanged().

  2. 2

    -Per nascondere la barra di Stato:

    Una grande soluzione che ho trovato per quel problema, l’impostazione di ogni Attività theme & windowSoftInputMode ai seguenti valori :

    <activity   android:name=".MyActivity"
                android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
                android:windowSoftInputMode="adjustResize">  <!-- theme : to set the activity to a full screen mode without a status bar(like in some games) -->
    </activity>                                              <!-- windowSoftInputMode : to resize the activity so that it fits the condition of displaying a softkeyboard -->

    per ulteriori info fare riferimento qui.

    -Per nascondere la barra di Notifica:

    Ci sono Due modi :

    1- root del vostro dispositivo, quindi aprire il dispositivo in adb window command, e quindi eseguire le seguenti operazioni:

     adb shell >
     su >
     pm disable com.android.systemui >

    e per tornare indietro basta fare la stessa, ma cambia disable per enable.

    2- aggiungere la seguente riga alla fine del tuo dispositivo costruire.prop file :

    qemu.hw.mainkeys = 1

    poi per tornare indietro basta rimuoverlo.

    e se non sai come modificare costruire.prop file:

    • scaricare EsExplorer sul vostro dispositivo e cercare di costruire.prop quindi modificare le autorizzazioni di lettura e scrittura, infine aggiungere la riga.
    • scaricare specializzata costruire.prop editor di app come costruire.propEditor.
    • o consultare quel link.
    • questa soluzione deve dispositivo di root! e non è possibile per me! per andare e root o installare un’altra app per dispositivo client! quindi questo non risolve il mio problema!
    • bene, grazie per ur risposta, ma penso che non trovare una soluzione come si vuole, senza il routing come anche in KitKat c’è qualcosa chiamato immergere, ma quando taping il main_layout appaiono quindi rimangono per circa 3 secondi.
  3. 1

    Sul nuovo android 4.4 si dovrebbe aggiungere questa riga:

    View.SYSTEM_UI_FLAG_IMMERSIVE;

    In modo che la nuova soluzione di lavoro di almeno sul nexus4 4.4.2 è

    final int mUIFlag = 
            View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                  | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                  | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                  | View.SYSTEM_UI_FLAG_LOW_PROFILE
                  | View.SYSTEM_UI_FLAG_FULLSCREEN
                  | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                  | View.SYSTEM_UI_FLAG_IMMERSIVE;

    Coinvolgente da solo non funziona, se funziona, quando combinato con altre bandiere. vedere la documentazione per maggiori dettagli.
    Poi si aggiunge l’attività, l’attivazione di questa impostazione, come mostrato qui prima (io sono solo l’aggiunta di coerenza)

    getWindow().getDecorView().setSystemUiVisibility(mUIFlag);
    • voglio questo in caramelle 4.1 non il kitkat
    • ok scusa ho capito questo non so aiutarti qui forse una combinazione di altri flag è abbastanza buono?
    • controllare questo stackoverflow.com/questions/9558638/…
  4. 0

    Ho fatto 2 layout di uno per regolare le dimensioni e uno schermo e all’interno di piena scrreen ho l’dispositivi di dimensioni e di assegnarlo al lettore video

    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getRealSize(size);
    int w=size.x;
    int h=size.y;
    videoPlayer.setFixedSize(w, h);
    • non funziona nel mio progetto
    • come funziona il vostro codice cerca
  5. 0

    Penso che si può nascondere la barra di sistema in android 4.0 > (solo per tablet, telefoni si dovrebbe essere in grado di)

    Cosa si può fare è nascondere le icone e disattivare alcuni pulsanti(tutti, tranne a casa)

    Si può provare questo:

            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
            getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);              
    
            }

    Anche per disabilitare i pulsanti:

    Questo è per il pulsante indietro:

      public boolean onKeyDown(int keyCode, KeyEvent event) {
        return false;
      }

    Questo il menu:

    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
    
            try
            {
               if(!hasFocus)
               {
                    Object service  = getSystemService("statusbar");
                    Class<?> statusbarManager = Class.forName("android.app.StatusBarManager");
                    Method collapse = statusbarManager.getMethod("collapse");
                    collapse .setAccessible(true);
                    collapse .invoke(service);
               }
            }
            catch(Exception ex)
            {
            }
    
    }
    • donot vuole di basso profilo..vuole nascondere completamente.
    • leggi la prima riga -.-
  6. 0

    Video Giocatori eseguito in modalità a schermo impostando il

    myView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

    setFlags() prima setContentView(View)

    Questo mostra la barra di sistema in interazione con l’utente, proprio come fanno i lettori video.

    Il più vicino si può ottenere per l’esecuzione di app a schermo intero è in Lights Out modalità, i tasti di sistema apparirà come punti.

    Di utilizzare le luci modalità di utilizzo di eventuali visualizzare nella vostra attività e chiamare

    anyView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

    Per Nascondere la barra di navigazione utilizzare questo in onStart() in modo che ogni volta che si arriva a tale attività sarà in modalità a schermo intero.

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

    Spero che questo aiuta !

    • Per evitare che scatti tra 2 completa le attività dello schermo (con la barra di navigazione nascosta), chiamata setSystemUiVisibility() prima setContentView() in onCreate();
  7. 0

    Versione Android: 4.2.2 – Dispositivo: Vega Tablet

    Android App per Nascondere lo Stato e la Barra di Sistema e la visualizzazione a schermo completo ho seguito questi passaggi.

    AndroidManifest.xml

       <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name">
            <activity
                android:name=".MainActivity"
                android:label="@string/app_name"
                android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>

    MainActivity.java

    super.onCreate(savedInstanceState);
    getWindow().getDecorView().setSystemUiVisibility(0x10);
    setContentView(R.layout.activity_main);

    Codice di cui sopra, perfettamente lavorato per la mia app.

  8. -2

    andare il manifesto e aggiungere questo alla tua attività

    <activity
            android:name="yourPackage.yourActivity"
    
            android:theme="@android:style/Theme.Black.NoTitleBar">
    • “.Fullscreen” mancante dopo “NoTitleBar”

Lascia un commento