0

LinearLayoutにいくつかのtextViewがあります。それらはクリック可能であり、ListViewのようにonClickにします。listViewの場合、ユーザーがアイテムをクリックすると、背景が緑色になると思います。

私はこれを手動で行うことができることを知っています

tv.SetBackgroundColor(Color.GREEN);

しかし、選択が自動的に管理されるlistViewのように、これを自動的に行うための何かがあります。

ありがとうございました。

4

1 に答える 1

1

状態のリストを含む新しい XML ファイルとして背景を定義する必要があります。

http://developer.android.com/guide/topics/resources/color-list-resource.html

たとえば、drawable フォルダーに background_states.xml というファイルを作成し、次のように記述します。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:state_selected="true"
   android:drawable="@color/white" ></item>
<item
    android:state_pressed="true"
   android:drawable="@color/white" ></item>
<item 
    android:drawable="@color/black" /> 
</selector> 

次に、この新しいファイルを TextView の背景として定義します。

<TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:background="@drawable/background_states"

さまざまな状態の詳細については、上記のリンクを参照してください。

于 2012-05-31T08:21:50.053 に答える