Sólo me preguntaba cómo ocultar la ICS back/home/etc software botones de programación. Como el Youtube de las aplicaciones cuando se reproduce un vídeo. Quiero ocultar de ellos mientras se reproduce un video, sino criadlos si el usuario toca la pantalla.

Me parece que no puede encontrar en cualquier parte de la web, o en Google documentación.

InformationsquelleAutor rustyshelf | 2011-12-12

6 Comentarios

  1. 23

    trate de instalación de una pantalla Completa de la ventana con la bandera SYSTEM_UI_FLAG_HIDE_NAVIGATION

    • Es necesario llamar a esta la raíz de vista?
  2. 31

    pinxue es el clavo… quieres SYSTEM_UI_FLAG_HIDE_NAVIGATION. Ejemplo:

    myView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

    Una cosa a tener en cuenta, sin embargo, es que en ninguna (y me refiero a CUALQUIER usuario de la interacción de la barra de navegación será reshown.

    Con Honeycomb lo más cerca que se puede llegar es ir en «lights out» modo (que ahora se llama «perfil bajo»… SYSTEM_UI_FLAG_LOW_PROFILE ). Esto sólo hace que los elementos de la barra de navegación menos visibles (los pequeños «puntos», usted probablemente ha visto). Si usted desea hacer el mejor esfuerzo en mantener la compatibilidad hacia atrás con nido de abeja puede utilizar la reflexión para utilizar el método de «mejor»:

    //Ask the System Bar to hide
    int whichHiddenStatusToUse = android.view.View.STATUS_BAR_HIDDEN;
    try {
        //if this next line doesn't thrown an exception then we are on ICS or  
        //above, so we can use the new field.
        whichHiddenStatusToUse = View.class.getDeclaredField("SYSTEM_UI_FLAG_HIDE_NAVIGATION").getInt(mDrawingSurface);
    } catch (Exception ex) {
    }
    //now lets actually ask one of our views to request the decreased visibility
    myView.setSystemUiVisibility(whichHiddenStatusToUse);
    • La respuesta es excelente. Aunque, me gustaría tratar de evitar la reflexión siempre es posible. Porque es feo – como de costumbre. Yo simplemente revise la actual versión de la plataforma y el uso de una de las constantes. E. g. si (Compilación.VERSIÓN.SDK_INT >= Crear.VERSION_CODES.ICE_CREAM_SANDWICH) {…}
    • Donde conseguir mDrawingSurface?
  3. 6

    Desea SYSTEM_UI_FLAG_HIDE_NAVIGATION .

    Este indicador se ha agregado como de Ice Cream Sandwich, la API de 14. Anterior al 14 de una bandera STATUS_BAR_HIDDEN fue añadido en forma de Panal, API 11. Anterior a que el suave botones de navegación no existe, de modo de pantalla completa modos se lleva a cabo enteramente por Temas (específicamente Tema.NoTitleBar.Pantalla completa).

    Uso:

    if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH )
        mBaseLayout.setSystemUiVisibility( View.SYSTEM_UI_FLAG_HIDE_NAVIGATION );
    else if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB )
        mBaseLayout.setSystemUiVisibility( View.STATUS_BAR_HIDDEN );
  4. 0

    Esta respuesta no puede responder directamente a la pregunta. pero estoy publicando lo que puede ayudar a otros a ahorrar tiempo.

    Necesitaba hacer ocultar la barra de Navegación completamente. Incluso cuando el usuario haga clic en la pantalla que debe permanecer oculto.

    Nada de la anteriormente trabajó para mí.

    Escribí una clase después de un par de días de búsqueda en google este tema desde hace mucho tiempo. Termino en esta clase.

    UtilsTaskBar.java

    No pude probarlo en todas partes, pero funciona en 4.**

    NOTA: he usado esta clase especial para aplicaciones de propósito, que no es para los usuarios habituales.

    Si se puede ocultar la barra de Navegación con esta clase, no se muestra de nuevo hasta u reiniciar el dispositivo o que se mostrará de nuevo con la misma clase.

    A fin de utilizar sólo si realmente lo necesita.

    • No trabajo en la API de 23
    • se requiere de raíz el permiso para ejecutar esas funciones, y yo no probarlo en api23 o superior, gracias por informar.
    • Bien, usted no menciona una cosa acerca de enraizamiento… Es una historia diferente entonces.
  5. 0

    en AndroidManifest.xml añadir esto:

    <uses-permission android:name="android.permission.BROADCAST_STICKY"/>

    a continuación, puede utilizar esta función para mostrar y ocultar la home/volver de la barra de navegación

    private void changeSystemBarVisibilty(boolean show)
    {
        Context context = getApplicationContext();
        final Intent intent = new Intent("android.intent.action.SYSTEM_BAR_VISIBILITY");
        intent.putExtra("show", show);
        context.sendStickyBroadcast(intent);
    }

Dejar respuesta

Please enter your comment!
Please enter your name here