Textview: usando el estilo de título de diálogo: @android: style / TextAppearance.DialogWindowTitle

Actualmente estoy intentando construir mi propio tema DialogFragment.

Uno de mis requisitos es usar un icono a la derecha del título.

Primera idea

Simplemente usando:

this.getDialog().getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.dialog_title); 

Pero desafortunadamente, esta línea de código no tiene ningún resultado.

Segunda idea

Proporcionar mi propio diseño -this.setContentView () – con este textview:

 <TextView android:id="@+id/tvTitle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="From XML" android:textAppearance="@android:style/TextAppearance.DialogWindowTitle" /> 

Esto funciona, porque puedo leer el texto, pero todavía escrito en fuente negra predeterminada.

Esperaba TextAppearance.DialogWindowTitle para dar a mi texto un appareance del título (azul en Holo con tamaño de fuente grande)

Alguna idea o sugerencia?

EDITAR

Esto casi hizo el truco:

 <style name="Dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowTitleStyle">@style/MyOwnDialogTitle</item> </style> <style name="MyOwnDialogTitle"> <item name="android:drawableRight">@drawable/MyRightImage</item> </style> 

Pero android: drawableRight acaba de romper el diseño del título:

Introduzca aquí la descripción de la imagen

SEGUNDO EDITOR

Esto es un poco mejor:

 <style name="Dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowTitleStyle">@style/MyOwnDialogTitle</item> </style> <style name="MyOwnDialogTitle"> <item name="android:textAppearance">@android:style/TextAppearance.DialogWindowTitle</item> <item name="android:drawableRight">@drawable/icon</item> </style> 

Introduzca aquí la descripción de la imagen

Tal vez usted puede extender el estilo por defecto de esta manera:

res/values/dialogstyles.xml

 <?xml version="1.0" encoding="utf-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="Dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowTitleStyle">@style/MyOwnDialogTitle</item> </style> <style name="MyOwnDialogTitle"> <item name="android:drawableRight">@drawable/MyRightImage</item> </style> </resources> 

res/values-v11/dialogstyles.xml

 <?xml version="1.0" encoding="utf-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="Dialog" parent="@android:style/Theme.Holo.Dialog"> <item name="android:windowTitleStyle">@style/MyOwnDialogTitle</item> </style> </resources> 

Y sobreescriba la función onCreate de onCreate :

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setStyle(DialogFragment.STYLE_NORMAL, R.style.Dialog); } 

Ejemplo de Trabajo

Estoy buscando su primer requisito. Pero para el segundo requisito, ¿por qué no intenta cambiar el color al estilo de TextAppearance.DialogWindowTitle con su estilo personalizado?

Acabo de comprobar los recursos de Android donde hay estilo como a continuación:

  <style name="DialogWindowTitle"> <item name="android:maxLines">1</item> <item name="android:scrollHorizontally">true</item> <item name="android:textAppearance">@style/TextAppearance.DialogWindowTitle</item> </style> 

Y para el estilo TextAppearance.DialogWindowTitle:

  <style name="TextAppearance.DialogWindowTitle"> <item name="android:textSize">18sp</item> <item name="android:textStyle">normal</item> <item name="android:textColor">?textColorPrimary</item> </style> 

Ahora, puede cambiar el color de su estilo TextAppearance.DialogWindowTitle y hacer lo que quiera.

Espero que tengas el punto.

No dude en comentar.

¿Has intentado usar @android:style/Theme.Holo.Light.Dialog como tu parent en estilos? Esto funcionará sólo en Android 3+ porque en la versión anterior no hay tema Holo, pero puedes crear tu propio para que parezca a las versiones inferiores de Android.

  • El texto extensible no funciona en el fragmento de diálogo
  • Custom FragmentDialog con esquinas redondas y no 100% de ancho de pantalla
  • ¿Por qué DialogFragment no puede ser una clase interna?
  • Cómo crear un cuadro de diálogo personalizado en android?
  • Añadir un fragmento a un diálogo
  • Comunicación entre DialogFragment y FragmentActivity en Android
  • ¿Cómo puedo crear DialogFragment de ListActivity en Android?
  • Forzar al usuario a seleccionar la opción en el diálogo
  • Estilizar texto en un DialogFragment
  • Fragmento de diálogo de pantalla completa de Android como aplicación de calendario
  • DialogFragment no cambia el tamaño cuando se muestra el teclado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.