0

アプリでスライドメニューを使用しています。このメニューにはリストビューがあります。リストビューの行アイテムに行レイアウトを使用しています。

私の行のレイアウトは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/color_back_frag"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/list_item_selector"
android:orientation="horizontal" >

<ImageView
    android:id="@+id/row_icon"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:padding="10dp"
    android:src="@drawable/ic_launcher" />

<TextView
    android:id="@+id/row_title"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:gravity="center_vertical"
    android:padding="10dp"
    android:text="Medium Text"
    android:textAppearance="@android:style/TextAppearance.Medium"
    android:textColor="@color/white" />

</LinearLayout>

私のlist_item_selectorは次のようなものです:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@drawable/and_satir_01" android:state_pressed="true"/>
<item android:drawable="@drawable/and_satir_01" android:state_selected="true"/>
<item android:drawable="@drawable/and_satir_02"/>

</selector>

リストアイテムをクリックすると、背景が一瞬フラッシュのように変化しますが、Facebookアプリのようにしたいと思います。Facebookアプリでは、スライドメニューのリストアイテムをクリックすると、背景は変更された背景画像のままになります。 「スライドイン」プロセス。私がこれをはっきりと言ったかどうかはわかりません。

私が欲しいのは、リストアイテムをクリックした後、スライドインプロセスが終了するまで、リストアイテムの背景は「state_pressed」の背景のままである必要があります。それを行う方法はありますか?

4

1 に答える 1

1

ListViewドキュメントから:

デフォルトでは、リストには選択動作がありません。choiceMode を singleChoice に設定すると、リストで最大 1 つの項目を選択済み状態にすることができます。

そのため、まず最初にandroid:choiceMode="singleChoice"paramを設定してみてください。ListView

それがあなたを助けることを願っています!

于 2013-01-07T10:34:46.983 に答える