在使用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));
答案 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是可绘制的文件,它可更改聚焦和不聚焦的动作的背景。