gpt4 book ai didi

AndroidTV - 更改行标题的颜色[BrowseFragment]

转载 作者:搜寻专家 更新时间:2023-11-01 08:24:55 29 4
gpt4 key购买 nike

我在 SO 中发现了类似的东西:android-tv Changing text color and font of browse fragment rows header

根据主题回答我想到了这个:

<style name="CustomRowHeaderStyle" parent="Widget.Leanback.Row.Header">
<item name="android:textColor">@color/red</item>
</style>

但这不仅会改变出现在行上方的文本,还会改变抽屉导航文本。我很想得到第一个答案(抽屉导航项目标题有不同的颜色)。

最佳答案

如果我正确理解你的问题,你想在 android leanback 库的浏览器 fragment 中更改行标题呈现器的颜色。为此,您可以自己设计标题布局以实现此目标。首先你需要设计一个自定义的 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 以将标题布局设置为 browserfragment,如下所示:

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 Header customizationBrowseFragment ListRow customization .

希望这有帮助:)

关于AndroidTV - 更改行标题的颜色[BrowseFragment],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46198605/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com