2010-11-19 26 views
33

Cualquiera sabe cómo deshabilitar/ocultar la barra de notificaciones en la parte superior que muestra la batería y otras cosas en Android. Cualquier ayuda será apreciada.Ocultar barra de notificaciones

EDITAR: Agregue también cómo puedo ocultar ActionBar + NotificationBar para versiones posteriores de Android.

+3

¿Seguro a los usuarios que desea? – Martin

+1

@Martin: incluso pagaría por esto. – Sliq

+0

Las dos primeras respuestas, ocultar ActionBar también. Si tiene la intención de ocultar solo la barra de notificaciones, vea mi respuesta. – Behnam

Respuesta

67

Se puede usar un tema en su AndroidManifest.xml:

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 

o el cambio de la matriz AppTheme a @android: Estilo/Theme.NoTitleBar.Fullscreen como esto

<style name="AppTheme" parent="Theme.NoTitleBar.Fullscreen"> 
</style> 

luego aplique este tema en actividades que desee Pantalla completa como

android:theme="@style/AppTheme" 

o utilice el siguiente fragmento de código:

public class FullScreen 
    extends android.app.Activity 
{ 
    @Override 
    public void onCreate(android.os.Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 

     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
           WindowManager.LayoutParams.FLAG_FULLSCREEN); 

     setContentView(R.layout.main); 
    } 
} 
+0

El código de Java no oculta la barra de notificaciones para mí. El tema, sin embargo, funcionó muy bien. – RockMeetHardplace

+0

Gracias Martin, por ambos enfoques. –

+0

@Martin ... funcionó a las mil maravillas. aprecia por tu ayuda !! – swiftBoy

19
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    getWindow().requestFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
} 
18

Las respuestas anteriores ocultar la Barra de acciones también. Si tiene intención de única ocultar la barra de notificación, utilice este código:

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

tener cuidado para ponerlo antes setContentView().

+2

+1 Exactamente lo que estaba buscando durante tanto tiempo. – Bond

2

Se implementó con éxito una versión ligeramente modificada de la sugerencia de @ Martin junto con un tema personalizado para eliminar AMBAS las barras de estado y navegación.

public class MyActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    //* Hides Notification Bar 
    getWindow().requestFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    setContentView(R.layout.activity_my); 
} 

La parte superior se utiliza para deshacerse de la barra de estado. Agregue el siguiente código a sus @styles como recurso para eliminar también NavBar.

<resources> <style name="NoNav" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:windowActionBar">false</item> 
    <item name="android:windowNoTitle">true</item> 
</style> </resources> 

Después de agregar esto a su archivo de recursos, estallar abierto AndroidManifest.xml y posibilidad de que su tema de aplicación a "@ estilo/NoNav".

Android interfaz de usuario de programas de relleno eliminado :)

1

Usted puede usar esto para 4.1 o superiores versiones.

View decorView = getWindow().getDecorView();  
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN; 
decorView.setSystemUiVisibility(uiOptions); 
+1

Oculta la barra de estado pero aún puedo ver el color primario oscuro. –

+0

@SrikarReddy intenta eliminar 'android: fitsSystemWindows =" true "' en tu archivo de diseño xml que estás inflando en tu actividad. Para mí me ayudó. – Moritz

3
@Override 
public void onWindowFocusChanged(boolean hasFocus) { 
    super.onWindowFocusChanged(hasFocus); 
     if (hasFocus) { 
      getWindow().getDecorView().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 
       | View.SYSTEM_UI_FLAG_FULLSCREEN 
       | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 
     } 
    } 
+0

Gracias, trabajado para mí. –

+0

su bienvenida @shahzainali –

Cuestiones relacionadas