AndroidTV - изменить цвет заголовка строки [BrowseFragment]
Я нашел что-то похожее в SO: Android-TV Изменение цвета текста и шрифта заголовка строки просмотра фрагмента
Следуя теме ответа я придумал это:
<style name="CustomRowHeaderStyle" parent="Widget.Leanback.Row.Header">
<item name="android:textColor">@color/red</item>
</style>
Но это меняет не только текст, который появляется над строками, но и текст в навигационной панели. Я хотел бы получить ответ для первого (с другим цветом для заголовков элементов навигационного ящика).
2 ответа
Если я правильно понимаю ваш вопрос, вы хотите изменить цвет ведущего заголовка строки во фрагменте браузера библиотеки Android Leadback. для этого вы можете самостоятельно разработать макет заголовка для достижения этой цели. Во- первых, вам нужно разработать собственный макет Android, который позволяет называть его custom_header_layout
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text_view"
android:text="sample_text"/>
</FrameLayout>
затем вам нужно создать новый класс и расширить ListRowPresenter, чтобы установить макет заголовка в подобие браузера:
public class MainListRowPresenter extends ListRowPresenter {
public MainListRowPresenter() {
setHeaderPresenter(new MainRowHeaderPresenter(R.layout.custom_header_layout));
}
@Override
protected void onBindRowViewHolder(RowPresenter.ViewHolder holder, Object item) {
}
}
и, наконец, расширяет RowHeaderPresenter и устанавливает данные для ваших заголовков в browserfragment:
public class MainRowHeaderPresenter extends RowHeaderPresenter {
public MainRowHeaderPresenter(int layoutResourceId) {
super(layoutResourceId);
}
@Override
public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object item) {
//do something hear
}
}
Для получения более подробной информации, пожалуйста, проверьте эти две замечательные публикации Настройка заголовка BrowseFragment и Настройка ListFow BrowseFragment.
надеюсь это поможет:)
` <style name="header_style">
<item name="android:layout_marginStart">5dp</item>
<item name="android:textSize">18sp</item>
<item name="android:textColor">@color/white</item>
</style>`