La barra de acción se ve cortada mientras se utiliza Theme.AppCompat.Dialog
Quise hacer que una de mis actividades se pareciera a un diálogo y utilizara un tema Theme.AppCompat.Dialog para ello, pero hizo que la barra de acción se viera mal (ver abajo).
Ahora el fondo se corta a la longitud de la cadena de título y no puedo encontrar ninguna propiedad de tema para arreglarlo.
- Android: Actividad de pantalla completa con barra de título
- Estilo de RecyclerView a nivel de tema
- Android: theme = "@ android: style / Theme.NoTitleBar.Fullscreen" No funciona android
- Android Custom Theming en ActionBar / Tabs
- No se puede cambiar completamente el esquema de color del tema de Eclipse ADT
¿Qué se puede hacer para evitarlo?
Parte relacionada de styles.xml:
<style name="DeviceListTheme" parent="Theme.AppCompat.Dialog"> <!-- All customizations that are NOT specific to a particular API-level can go here. --> </style>
Comienzo la actividad usando el código siguiente:
Intent intent = new Intent(this, DeviceListActivity.class); startActivityForResult(intent, REQUEST_CONNECT_DEVICE);
- PhoneGap 3.x Android - Tema de Popup / Dialog nativo
- Android ActionBar no cambia el color de fondo
- Lollipop estilo EditBox
- ¿Puedo configurar los estilos personalizados globales de aplicaciones para los widgets de Android-support-design?
- Acceso al recurso definido en el tema y attrs.xml android
- Android: ¿cómo cambiar el color del divisor datepicker?
- Android: ¿Acabo de tener un disparo por propiedad mediante el uso de temas? ¿No hay nada como CSS en Android?
- Android: Utilizar colores de resaltado predeterminados en un botón personalizado
Primero, cuando encontré este problema, intenté usar supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
Pero esto no funcionó para mí y no tuvo ningún efecto.
El método alternativo para eliminar la barra en la parte superior de su actividad de diálogo sería crear un estilo personalizado y aplicarlo a esa actividad.
En styles.xml
, cree un nuevo estilo como el siguiente:
<style name="MyCustomDialog" parent="Base.Theme.AppCompat.Light.Dialog"> <item name="android:windowNoTitle">true</item> <item name="windowActionBar">false</item> </style>
Ahora, en AndroidManifest.xml
, añada en android:theme="@style/MyCustomDialog"
a su actividad.
Por supuesto, MyCustomDialog
puede cambiar el nombre a cualquier cosa que desee.
Utilice DialogWhenLarge en lugar del estilo de diálogo estándar:
<style name="MyDialogTheme" parent="@style/Theme.AppCompat.Light.DialogWhenLarge"> ... </style>
He resuelto el mismo problema de esta manera:
Actividad:
public class MyActivity extends android.support.v4.app.FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_layout); setTitle("View task"); } }
Tema:
<style name="Theme.MyDialog" parent="@style/Theme.AppCompat.Light.Dialog"> <item name="android:windowNoTitle">false</item> </style>
Manifiesto:
<activity android:name=".MyActivity" android:theme="@style/Theme.MyDialog"/>
Resultado:
Esta funcionando
<style name="AppThemeDialog" parent="Theme.AppCompat.Light.Dialog"> <item name="android:windowNoTitle">true</item> <item name="android:spinnerStyle">@style/holoSpinner</item> </style> @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_search); setTitle("Batches"); }
- Cómo agregar mediante programación 2 textview en un diseño lineal
- Recibo un mensaje de error cuando ejecuto JNI android app A / libc: Señal fatal 11 (SIGSEGV) en 0xdeadd00d (código = 1), hilo 17729