0

これが些細なことであるか、以前に投稿されていた場合は申し訳ありません。今、私はこの問題を抱えています。アイテムのセットを作成しているListViewコンポーネントがあり、それぞれが膨らんだレイアウトになっています。1つの項目をクリックすると、onClickの動作は完全に機能し、リスナーは仕事をしていますが、ListViewのボタンに「押された状態」が表示されません。下の画像は私が探しているものを示しています:

ここに画像の説明を入力してください

誰かが私に与えるヒントがありますか?私はすでにいくつかのことをチェックして試しました:1。android:state_focused = "true" 2. android:state_pressed = "true" 3. setClickable(true)

前もって感謝します!

4

1 に答える 1

1

リストアイテムの状態に手動でスタイルを適用する必要があります。なぜなら、Androidのリストアイテムビューではなく、独自のリストアイテムビューを作成しているからです。したがって、さまざまな状態を表示するために特定のスタイルを提供する必要があります。セレクターを使用して、リストアイテムのスタイルを作成します。ここで提供されているいくつかのサンプルコード、

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_focused="false"
        android:drawable="@drawable/list_item_gradient" />

    <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
    <item android:state_focused="true" android:state_enabled="false"
        android:state_pressed="true"
        android:drawable="@drawable/list_selector_background_disabled" />
    <item android:state_focused="true" android:state_enabled="false"
        android:drawable="@drawable/list_selector_background_disabled" />

    <item android:state_focused="true" android:state_pressed="true"
        android:drawable="@drawable/list_selector_background_transition" />
    <item android:state_focused="false" android:state_pressed="true"
        android:drawable="@drawable/list_selector_background_transition" />

    <item android:state_focused="true"
        android:drawable="@drawable/list_selector_background_focus" />

</selector>

そしてリストビューで

<ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:listSelector="@drawable/list_selector_background" />

于 2012-06-18T17:31:12.920 に答える