我目前正在尝试构建自己的 DialogFragment 主题。
我的要求之一是在标题右侧使用图标。
第一个想法
只需使用:
this.getDialog().getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.dialog_title);
但是很遗憾,这行代码没有结果。
第二个想法
用这个 textview 提供我自己的布局 -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 刚刚打破了标题布局:
第二次编辑
这有点好:
<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>