現在、独自のDialogFragmentテーマを構築しようとしています。
私の要件の 1 つは、タイトルの右側にあるアイコンを使用することです。
最初のアイデア
単に使用する:
this.getDialog().getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.dialog_title);
残念ながら、このコード行には結果がありません。
2番目のアイデア
このテキストビューを使用して、独自のレイアウト -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 はタイトルのレイアウトを壊しただけです:
2回目の編集
これは少し良いです:
<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>