设置BrowseFragment

时间:2016-07-20 03:41:32

标签: android leanback

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

1 个答案:

答案 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));