ブラウズフラグメントの行ヘッダーのテキストの色とフォントを変更する方法。 メニューのテキストではなく、行の上に表示されるテキストです。android-tvブラウズフラグメント行のテキストの色とフォントを変更する
答えて
あなたのBrowseFragment
のHeaderFragment
のプレゼンターとして提供されているandroid.support.v17.leanback.widget.RowHeaderPresenter
を使用していることを前提としています。あなたが見ることができるように
<android.support.v17.leanback.widget.RowHeaderView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/row_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?rowHeaderStyle" />
が、これは通常@style/Widget.Leanback.Row.Header
を指しているrowHeaderStyle
と呼ばれるスタイル属性を使用しています:RowHeaderPresenter
は、次のようになりますR.layout.lb_row_header
からレイアウトを膨張させます。あなたはstyles.xml
に次のように置くことによって、これをオーバーライドすることができます。その後、
<style name="MyCustomRowHeaderStyle" parent="Widget.Leanback.Row.Header">
<item name="android:textColor">@color/red</item>
</style>
<style name="MyCustomBrowseStyle" parent="Theme.Leanback.Browse">
<item name="rowHeaderStyle">@style/MyCustomRowHeaderStyle</item>
</style>
そして、あなたのAndroidManifest.xml
でそれを宣言することによってBrowseFragment
を含むActivity
ためMyCustomBrowseStyle
を使用しています。
david.miholaの回答が色に役立ちますが、カスタムフォントの設定にはまだ問題がありました。この質問に遭遇し、これについても困惑する人のために、私の解決策はここにあります:chrisjenx (Calligraphy)によって行われたすばらしい仕事のおかげで、簡単にグローバル(カスタム)フォントを設定できます:
単にあなたのgradle.buildに書道を追加し、Application.onCreate()
に次のコードを追加します。
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("fonts/MyCustomFont.ttf")
.setFontAttrId(R.attr.fontPath)
.build()
);
、すべての活動では、次の行を追加します。
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}
これは、フォントのトリックを行っています1つのTextViewごとにレイアウトを変更せずに私のために。書道のドキュメンテーションにもいくつかの可能性があります。見てみな。
この質問を見つけて、(カスタム)フォントをグローバルに設定しようとしている他の人に役立つことを祈っています。
ダビデの答えに加えて。
rowHeaderStyle
(これら二つの断片があなたのBrowseFragment
を構成する)RowFragment
でHeaderFragment
のメニュー項目と列のタイトルに両方のスタイルを適用します。
そのスタイル(特にフォントの色)を異ならせる場合は、BrowseFragment::onCreateHeadersFragment()
を上書きして、その時点で特定のテーマを適用できます。 )
<style name="AppTheme.Leanback.Browse.Row" parent="@style/Theme.Leanback.Browse">
<item name="rowHeaderStyle">@style/AppTheme.Leanback.Row</item>
</style>
<style name="AppTheme.Leanback.Browse.Header" parent="@style/AppTheme.Leanback.Browse.Row">
<item name="rowHeaderStyle">@style/AppTheme.Leanback.Header</item>
</style>
<style name="AppTheme.Leanback.Row" parent="Widget.Leanback.Row.Header">
<item name="android:textColor">@color/font_row</item>
</style>
<style name="AppTheme.Leanback.Header" parent="Widget.Leanback.Row.Header">
<item name="android:textColor">@color/font_header</item>
</style>
2マニフェストであなたの活動にAppTheme.Leanback.Browse.Row
テーマを適用します。
1)styles.xml
にこれらのスタイルを追加します。
3)あなたのBrowseFragment
のヘッダーにAppTheme.Leanback.Browse.Header
テーマを適用します。
// Kotlin snippet
override fun onCreateHeadersFragment() : HeadersFragment {
class CustomHeadersFragment : HeadersFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
return super.onCreateView(
inflater.cloneInContext(ContextThemeWrapper(inflater.context, R.style.AppTheme_Leanback_Browse_Header)),
container,
savedInstanceState
)
}
}
return CustomHeadersFragment()
}
- 1. NavBarのフォントとテキストの色の変更
- 2. ハンバーガーメニューのテキストのフォントの色とフォントファミリを変更する
- 3. テーブルヘッダーのテキストとフォントの色を変更する - 材質テーブル(0.19.4)
- 4. Javascript - テキストエリア内の特定のテキストのフォント色を変更する
- 5. reportlab.pdfgenでテキスト/フォントの色を変更する方法
- 6. PDFでテキストのフォント色をプログラムで変更する
- 7. PyQt5 TextEdit Widget入力テキストのフォント色を変更する
- 8. PDFieldのフォント色と背景色を変更するPDFBox - 2.0.2
- 9. WebStorm 2016.1の色とフォントの変更
- 10. リンクのフォント色を変更する
- 11. UIBarButtonItemのフォント色を変更する
- 12. フォントの色を変更するには
- 13. テキストエリアのフォント色を変更する
- 14. javascriptを変更する.textフォントの色
- 15. 変更フォントの色は
- 16. テキストを置き換えてフォントの色を変更
- 17. テーブルビュー行のテキストとイメージの色を変更する
- 18. テキストの上にマウスを置いたときのフォント色の変更
- 19. フォントを太字、イタリック、フォントの色に変更する方法
- 20. ボタンのラベルのフォントの色とタイトルを変更する
- 21. qwebviewの背景イメージ、色、フォントの色を変更するには
- 22. トップバーの色とタブバーのテキストの色を変更する
- 23. TCLでフォントの色を変更してテキストを太字にする
- 24. Androidの変更のTextViewフォントの色
- 25. QStringまたはQLineEditの色とフォントを変更する
- 26. 光沢のあるウィジェットの背景とフォントの色を変更
- 27. 変更フォントの色のAndroidメーカー
- 28. ツールバーのテキストの色を変更する
- 29. Eclipseのテキストの色を変更する
- 30. corrplot.mixedのテキストの色を変更する
私はどこonCreateHeadersFragment' 'に上書き見つけることができませんでした。どうやら私はleanbackの古いバージョンを実行していた、このメソッドは最近25.3.0に追加されました。 https://developer.android.com/reference/android/support/v17/leanback/app/BrowseFragment.html#onCreateHeadersFragment() – Hless