我正在使用Leanback BrowseFragment,并且需要能够在选中时设置标题项的背景颜色。有可用的任何直接方法/ XML属性吗?我一直在研究BrowseFragment和leanback themes.xml。
参考: https://developer.android.com/reference/android/support/v17/leanback/app/BrowseFragment.html https://android.googlesource.com/platform/frameworks/support/+/master/v17/leanback/res/values/themes.xml
答案 0 :(得分:0)
在我的情况下,我使用带有图标的自定义标题项。您可以在this教程中查看详细信息。对于我的布局中的TextView,我在xml
目录中定义了color
文件,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/accent_color" android:state_selected="true"/>
<item android:color="@color/white"/>
</selector>
和direcroty android:drawable
中的相同xml文件(但具有drawable
属性)。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_focused"
android:state_selected="true"/>
<item android:drawable="@drawable/icon"/>
</selector>
然后只需为android:textColor="@color/your_new_xml_file"
设置TextView
,并将您的可绘制文件用于标题ImageView
。
如果您需要更改View
背景,而不仅仅是标题图标和文字颜色,请将具有已定义颜色的xml
文件设置为View
背景。
我的演示者类中的OnSelectLevelChanged()方法为空(没有这个,就像上面的教程中一样):
holder.view.setAlpha(mUnselectedAlpha + holder.getSelectLevel() *
(1.0f - mUnselectedAlpha));