В настоящее время я пытаюсь создать собственную тему DialogFragment.
Одно из моих требований - использовать значок справа от заголовка.
Первая идея
Просто используя:
this.getDialog().getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.dialog_title);
Но, к сожалению, эта строка кода не имеет результата.
Вторая идея
Подстановка моего собственного макета -this.setContentView() - с помощью этого текстового представления:
<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" />
Это работает, потому что я могу читать текст, но он все еще написан черным шрифтом по умолчанию.
Я ожидал TextAppearance.DialogWindowTitle, чтобы дать моему тексту заголовок (синий в Holo с большим размером шрифта)
Любая идея или предложение?
ИЗМЕНИТЬ
Это почти трюк:
<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>
но android: drawableRight просто сломал макет названия:
SECOND EDIT
Это немного лучше:
<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>