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の場合、ディレクトリに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>

android:drawabledirecroty 内の同じ xml ファイル (ただし、 attributes を含む) 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"して使用します。TextViewImageView

Viewヘッダーアイコンやテキストの色だけでなく、背景を変更する必要がある場合は、そのようなxml色が定義されたファイルをView背景として設定します。

私のプレゼンタークラスの OnSelectLevelChanged() メソッドは空です (上記のチュートリアルのように、これがなければ):

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