Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Tema de pantalla completa para AppCompat

Me gustaría saber cómo puedo aplicar el tema de pantalla completa (sin barra de título + barra de acción) a una actividad. Estoy utilizando la biblioteca AppCompat desde el paquete de soporte v7.

He intentado aplicar android:theme="@android:style/Theme.NoTitleBar.Fullscreen" a mi actividad específica, pero se estrelló. Creo que es porque mi tema de aplicación es así.

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 

También he intentado esto

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

Que sólo oculta la barra de título pero no la barra de acción. Mi solución actual es ocultar la barra de acción con

 getSupportActionBar().hide(); 

  • Establecer Android Theme.Light para diálogo de alerta
  • Cómo cambiar el tema de Darcula a predeterminado en Android Studio
  • Aplicación de un tema a v7 Support Action Bar
  • Cómo dar estilo a ActionaBar Tab texto en Android?
  • Botón de acción flotante y error de inflación de biblioteca de diseño
  • Cómo centralizar alinear el título de ActionBar en Android?
  • Estilizar los botones de material en Android v21
  • ¿El tema de AppCompat DayNight no funciona en Android 6.0?
  • 11 Solutions collect form web for “Tema de pantalla completa para AppCompat”

    Cuando utiliza Theme.AppCompat en su aplicación puede utilizar FullScreenTheme agregando el código a continuación a los estilos.

     <style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> </style> 

    Y también mencionar en su archivo de manifiesto.

     <activity android:name=".activities.FullViewActivity" android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen" /> 

    Basado en la respuesta de @nebyan, encontré que la barra de acción todavía no está ocultando.

    El siguiente código funciona para mí:

     <style name="AppFullScreenTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowNoTitle">true</item> <item name="android:windowActionBar">false</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> </style> 
     <style name="Theme.AppCompat.Light.NoActionBar" parent="@style/Theme.AppCompat"> <item name="android:windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> </style> 

    Utilizando el xml anterior en style.xml, usted será capaz de ocultar el título, así como la barra de acción.

    Los problemas surgen entre las versiones anteriores y posteriores de Android 4.0 (API nivel 14).

    Desde aquí https://developer.android.com/training/system-ui/status.html He creado mi propia solución ..

     @SuppressLint("NewApi") @Override protected void onResume() { super.onResume(); if (Build.VERSION.SDK_INT < 16) { // Hide the status bar getWindow().setFlag(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); // Hide the action bar getSupportActionBar().hide(); } else { // Hide the status bar getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); / Hide the action bar getActionBar().hide(); } } 

    Escribo este código en el método onResume () porque si sales de tu aplicación y luego la vuelves a abrir, ¡la barra de acción permanece activa! (Y así solucionar el problema)

    Espero que haya sido de ayuda 😉

    Su "solución" (escondiendo el actionBar usted mismo) es la forma normal. Pero google recomienda siempre ocultar el ActionBar cuando el TitleBar está oculto. Echa un vistazo aquí: https://developer.android.com/training/system-ui/status.html

    Puede seguir el siguiente paso:

    AndoridMenifest.xml

     <activity android:name=".ui.FullImageActivity" android:label="@string/title_activity_main" android:screenOrientation="landscape" android:theme="@style/DialogTheme"> </activity> 

    Style.xml

     <style name="DialogTheme" parent="android:Theme.Dialog"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">fill_parent</item> <!-- No backgrounds, titles or window float --> <item name="android:windowNoTitle">false</item> <item name="android:windowFullscreen">true</item> <item name="android:windowIsFloating">false</item> </style> 

    FullImageActivity.java

     @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); setContentView(R.layout.image_view); } 

    Espero que ayude .. ¡Gracias !!

     protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //to remove "information bar" above the action bar getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //to remove the action bar (title bar) getSupportActionBar().hide(); } 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 

    Para quitar la barra de título en AppCompat:

      @Override protected void onCreate(Bundle savedInstanceState) { supportRequestWindowFeature(Window.FEATURE_NO_TITLE); super.onCreate(savedInstanceState); } 
     <style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> 

    sólo esta ?

     <style name="Theme.AppCompat.Light.NoActionBar.FullScreen"> <item name="android:windowFullscreen">true</item> </style> 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.