如何在 androidleaback 库中自定义行的标题项?

Posted

技术标签:

【中文标题】如何在 androidleaback 库中自定义行的标题项?【英文标题】:How to customise Header Item of Row in android leanback library? 【发布时间】:2020-01-24 05:57:14 【问题描述】:

我是 android TV 开发的新手。

为此,我使用了 androidleaback 库。我也使用 BrowseSupportFragment 和 RowsSupportFragmen。

这里我要自定义如图所示的HeaderItem。

我特别想改变它的字体。我检查了很多东西,但没有找到合适的解决方案。

谢谢。

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

我认为 setHeaderPresenterSelector 用于左侧抽屉标题而不是我在问题中提到的这个。 我在这里使用 RowsSupportFragment 是 setHeaderPresenterSelector 用于左侧抽屉。 @sohel.eco 我有任何解决方案,我也在寻找解决方案 @Harish 我对此做了很多研发,但没有得到任何解决方案。我在电视应用程序开发中看到的还有一件事,在所有电视开发应用程序的情况下,都没有定制。 Leanback 库提供了许多功能,因为它是默认的,并且其中可用的自定义较少【参考方案2】:

试试这个:

 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)
    
 

【讨论】:

以上是关于如何在 androidleaback 库中自定义行的标题项?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WCF 自定义行为中动态更改 URL

如何在 MS Access 中向 SQL 查询添加自定义行?

如何在 Kendo.Scheduler 中自定义行或列颜色?

如何从 PrepareForReuse 的 UITableView 自定义行中删除视图?

如何在 SwiftUI 中结合可折叠行使用 List 自定义行内部内容?

Leanback 创建不同的自定义行视图