如何在Android tv的详细信息概述中更改操作项的文本颜色/样式

时间:2017-02-17 21:20:08

标签: android android-tv

在使用leanback库的android tv中,我们将按钮文本作为CharSequence传递,以在详细信息概述中填充操作项:new Action(long id,CharSequence label1,CharSequence label2,Drawable icon)

这里有一个小背景:如果你访问电影的详细信息页面(比如,到达),你会注意到动作按钮:"观看预告片","租金为10.00美元", "拥有$ 20.00"

我正在研究如何更改这些操作项的文本颜色/文本样式,但到目前为止都没有成功。

有什么想法吗?

以下是我的代码片段:

 SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(price);
 spannableStringBuilder.setSpan(new ForegroundColorSpan(Color.RED), 0, spannableStringBuilder.length(), 0);
 addDetailsOverviewRowButton(1, "OWN FROM", Html.fromHtml(spannableStringBuilder.toString()), getResources().getDrawable(R.drawable.xyz, null));

1 个答案:

答案 0 :(得分:0)

使用父项Theme.Leanback.Details创建样式,您可以在其中添加项目

<item name="detailsActionButtonStyle">@style/Theme.Detail.Action</item>

然后创建上面样式中的另一种样式。

<style name="Theme.Detail.Action" parent="TextAppearance.Leanback.DetailsActionButton">
        <item name="android:textColor">@color/detail_action_text_color</item>
        <item name="android:textAppearance">@style/TextAppearance.Leanback.DetailsActionButton
        </item>
        <item name="android:background">@drawable/detail_action_selector</item>
     </style>

在这里,detail_action_selector是可绘制的文件,它可更改聚焦和不聚焦的动作的背景。