3

私のレイアウトにはいくつかのテキストビューがあります。選択したテキストビューの色を変更したい。textview は選択できないと思いますが、リリース状態の背景を設定できる方法はありますか?

これは私のテキストビューです:

<TextView
                android:id="@+id/langDutch"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/item_selected"
                android:clickable="true"
                android:drawableLeft="@drawable/bg_settings_dutchon_hc_2x"
                android:drawablePadding="10dp"
                android:focusable="true"
                android:gravity="center_vertical"
                android:onClick="onlanguageSelect"
                android:padding="10dp"
                android:text="Dutch"
                android:textColor="#454C52" />

これは私の item_selected.xml です:

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

    <item android:drawable="@color/background_grey" android:state_pressed="true"/>
    <item android:drawable="@color/background_hc" android:state_focused="true"/>
    <item android:drawable="@color/background_bf" android:state_selected="true"/>

</selector>
4

4 に答える 4

-1

まず、セレクターを使用するために、レイアウトでこれを変更します。

android:background="@drawable/item_background"

次に、これを書き込みます(背景が選択されておらず、デフォルトの場合は、背景だけが必要であると考えてください):

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/background_hc" android:state_focused="true"/>
    <item android:drawable="@color/background_grey" android:state_focused="false"/>
</selector>

これらは、可能性のある 2 つの状態 - フォーカスされた状態と unfcused (押された/押されていない状態) の場合です。

于 2013-08-08T14:49:06.090 に答える
-1

テキストビューの onclick では、ビューに対して setSelected(true) を呼び出す必要があります。次に、state_select カラーをレンダリングします。

onclick(View v){
 v.setSelected(true);
}
于 2013-08-08T15:03:50.497 に答える