2

次の問題があります: Android ボタンのカスタム状態セレクターを作成しました。それらは期待どおりに機能します。問題は、同じ状態を ListView 項目行に適用したいときに始まります。

そのため、アダプターでスタイルを設定すると、同じ状態がリストボックス ビュー アイテムで異なって見えることがわかりました。デフォルトのスタイルと設定したい色のブレンドです。アイテムを長押しするか離すと、最初にデフォルトの色 (青) にフェードアウトし、次に透明になります。

私はいくつかの状態/状態の組み合わせを見逃していると思いますが、どれがわかりません。StackOverflow の例も含めて、多くのことを試しましたが、何も機能しません。願わくば、ここにいる誰かが同じ課題を抱えていて、正しいオーバーライドを持っていることを願っています。以下は私のドローアブルセレクターです。

前もって感謝します!

XML:

<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:exitFadeDuration="@android:integer/config_mediumAnimTime"
android:enterFadeDuration="@android:integer/config_shortAnimTime"
> 

    <item   android:state_window_focused="false" 
        android:state_enabled="true"
        android:drawable="@android:color/transparent" />

<item   android:state_window_focused="false" 
        android:state_enabled="false"
        android:drawable="@android:color/transparent" />

<item   android:state_window_focused="false" 
        android:state_focused="true" 
        android:drawable="@android:color/transparent" />

<item   android:state_pressed="true"
        android:drawable="@android:color/holo_green_light" />

<item   android:state_focused="true"
        android:state_pressed="false"
        android:state_enabled="true"
        android:drawable="@android:color/holo_green_light" />

<item   android:drawable="@android:color/transparent" />
</selector>
4

1 に答える 1

1

タッチ モードでは、アイテムを押していないときは、選択されていることもフォーカスされていることもありません。

しかし、あなたはそれを回避することができます。リストの選択モード (単一または複数、デフォルトは .none) を設定state_activatedしてから、セレクターで使用する必要があります。

于 2012-06-07T22:09:53.567 に答える