如何自定义Android Leanback库中行的标题项?

7

enter image description here

我是 Android TV 开发的新手。
我使用了 Android Leanback 库,同时也使用了 BrowseSupportFragment 和 RowsSupportFragment。
这里我想要自定义图片中显示的 HeaderItem。
特别是我想要更改它的字体。我检查了很多东西,但没有得到合适的解决方案。
谢谢。
2个回答

2

如果您使用BrowseSupportFragment,您可以使用setHeaderPresenterSelector()方法并注册自己的标题演示文稿。它应该继承自RowHeaderPresenter

如果您想一次性覆盖所有标题,则可以创建文件res/values/layout/lb_row_header.xml并重新定义默认标题演示文稿的布局。


4
我认为setHeaderPresenterSelector是用于左侧抽屉头部的,而不是我在问题中提到的这个。 - sohel.eco
2
这里我正在使用RowsSupportFragment。 - sohel.eco
@sohel.eco,如果你有任何解决方案,请告诉我,我也在寻找解决方案。 - Harish
@Harish,我做了很多关于这个问题的研究,但是没有得到任何解决方案。另外,在电视应用程序开发中,我发现一个问题,即在所有电视应用程序开发案例中都没有自定义功能。Leanback库提供了许多默认功能,但可用的自定义功能较少。 - sohel.eco
@sohel.eco,我已经按照这个链接并实现了带有图标的文本。https://dev59.com/uqXja4cB1Zd3GeqPMiKM 以及在下面的链接中,他们还告诉了如何更改文本字体 https://dev59.com/iZ7ha4cB1Zd3GeqPjGta 字体我还没有尝试。 - Harish
显示剩余2条评论

1

试试这个:

 override fun onBindRowViewHolder(holder: RowPresenter.ViewHolder?, item: Any?) {
    super.onBindRowViewHolder(holder, item)
    val textView = holder?.headerViewHolder?.view?.findViewById<RowHeaderView>(R.id.row_header)
    textView?.run {
        setTextColor(Color.WHITE)
        setTextSize(TypedValue.COMPLEX_UNIT_SP, 12.5f)
        isAllCaps = true
        setFontFamily(context, R.font.hind_bold)
    }
 }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接