2016-07-18 5 views
1

アイテムが選択されたときにスピナーアイテムの背景(スピナーの背景ではない)を変更したい。スピナーで、perticularアイテムを選択したときに背景が変更されない

私はこのようにそれをしたい:

Image

+1

Adapterを作成するには、何かをしようとしたことがありますか? – Sanoop

+1

これは、問題を解決する必要がありますhttp://stackoverflow.com/questions/15379851/change-text-color-of-selected-item-in-spinner – Silwester

+0

私は 'popupBackground'全体を変更したくありませんが、変更したい選択されたアイテムのポップアップ背景のみ –

答えて

1

まず

my_click_changer

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@color/your_new_Color" android:state_pressed="true" /> 
    <item android:drawable="@color/your_default_Color" android:state_pressed="false" /> 
</selector> 
という名前 drawable folderdrawableを作成

EDITこれは、次いで、各Spinnerアイテムの個々のレイアウトを作成する別のdrawable

text_color_changer

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

を作成text color

を変更するためのものである

your_xml_name.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="?android:attr/spinnerItemStyle" 
    android:layout_width="match_parent" 
    android:layout_height="40dp" 
    android:background="@drawable/my_click_changer" 
    android:ellipsize="marquee" 
    android:gravity="center" 
    android:padding="10dp" 
    android:singleLine="true" 
    android:textAlignment="inherit" 
    android:textSize="15sp" 
    android:textColor="@drawable/text_color_changer" 
    android:textStyle="bold" /> 

、コードで

final ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(getContext(), R.layout.your_xml_name, yourList); 
+1

ありがとう、もう一つ、 ' とこれを追加しました。完璧に働いた。 私のフォントが白すぎるので、状態がアクティブになったらテキストを黒色にしてください。どうすればいいですか? –

+0

@ChintakPatel私はこれを考慮に入れました..そして、私の答えの**編集**部分を見てください..私はすでにそれに答えました。また、あなたも '色 'を好きに使ってください – Sanoop

+0

@Sanoopありがとう、それは働いた完全に –

関連する問題