1

我正在使用 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

4

1 回答 1

0

在我的例子中,我使用了带有图标的自定义标题项。您可以在本教程中查看详细信息。对于我的布局中的 TextView,我xmlcolor目录中定义了文件,如下所示:

<?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>

android:drawable和direcroty中相同的 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>

然后只需为您的 header 设置android:textColor="@color/your_new_xml_file"TextView使用您的可绘制文件ImageView

如果您需要更改View背景,不仅是标题图标和文本颜色,请将xml具有定义颜色的此类文件设置为View背景。

我的演示者类中的 OnSelectLevelChanged() 方法是空的(没有这个,就像上面的教程一样):

holder.view.setAlpha(mUnselectedAlpha + holder.getSelectLevel() *
                (1.0f - mUnselectedAlpha));
于 2017-03-20T13:56:35.233 回答