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í.
- "... debe proporcionar un layout_height ..." pero es en mis recursos de estilo?
- Mezcla de holo light y holo dark EditarTexto en tema
- Cuadro de diálogo de alerta de Appcompat Fondo del botón de acción En estado presionado
- Android: cómo usar el color del estilo en XML de otro diseño
- ¿Cómo se procesan los estilos predeterminados de Android (en particular, ButtonBar y ButtonBar.Button)?
<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();
- EditText cómo activar copia / pegar popup sin barra de acción?
- Grueso ProgressBar de color naranja en lugar de azul delgado
- Cambiar el estilo de ListPreference
- Cómo corregir el corte personalizado de fondo SearchView en el paisaje?
- Android: ¿cómo usar los colores del tema actual en un xml extraíble?
- Android: theme = "@ android: style / Theme.NoTitleBar.Fullscreen" funciona en nivel de aplicación pero no en el nivel de actividad. ¿Cualquier pista?
- Android: la barra de acciones no aparece con Theme.AppCompat
- Color de fondo predeterminado de Theme.AppCompat.Light android
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>
- ¿Es posible establecer una fuente personalizada para toda la aplicación?
- Cómo establecer un mapa de bits de recurso