2012-10-01 10 views
6

は、だから私はスピナーを持っているメニュー項目の色(アンドロイド)をドロップダウンし、私が選択した項目の色を変更するには成功したが、私は、ドロップダウンメニュー内の項目の色を変更することはできませんよスピナーは

これは私のspinner_layout.xml

<?xml version="1.0" encoding="utf-8"?> 
<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textSize="13sp" 
    android:textColor="#33CCFF"   
/> 

であり、これは私ののstyles.xmlある

<resources> 
    <style name="AppTheme" parent="android:Theme.Light" > 
    <item name="android:spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem.Color</item> 
    <item name="android:spinnerItemStyle">@style/SpinnerItem</item> 
    </style> 
    <style name="SpinnerItem.DropDownItem.Color" parent="@android:style/Widget.DropDownItem.Spinner"> 
     <item name="android:textColor">#4FBDE8</item> 
    </style> 

    <style name="SpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem"> 
     <item name="android:textColor">#4FBDE8</item> 
    </style> 
</resources> 

にXMLの方法がありますか?ここで

答えて

3

はスピナーのレイアウトリソースファイルを指定している間、私は別のstackoverflowのスレッド

<style name="Theme.NoTitleBar.WithColoredSpinners" parent="@android:style/Theme.NoTitleBar"> 
    <item name="android:spinnerItemStyle">@style/SpinnerItem</item> 
    <item name="android:spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem</item> 
</style> 

<style name="SpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem"> 
    <item name="android:textColor">#00FF00</item> 
</style> 

<style name="SpinnerItem.DropDownItem" parent="@android:style/Widget.DropDownItem.Spinner"> 
    <item name="android:textColor">#FF0000</item> 
</style> 

+1

動作しません。ドロップダウンの色は変更されません –

1

で見つかったソリューションで、次の2つの場所でそれを設定する必要があります。

  1. 配列アダプタにdropDownViewResourceを設定しながら、新しいArrayAdapter

    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, R.layout.spinner_item, categories); 
    
  2. を宣言しながら。二つの異なるレイアウトファイルが使用されていることを

    dataAdapter.setDropDownViewResource(R.layout.spinner_item_dropdown); 
    

注意してください。スタイルを定義し、これらのスタイルをそれぞれのレイアウトのテーマとして使用することで、次のようにビューをカスタマイズできます。

<style name="SpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem"> 
    <item name="android:textColor">@color/white</item> 
    <item name="android:background">@color/black</item> 
</style> 

<style name="SpinnerItem.DropDownItem" parent="@android:style/Widget.DropDownItem.Spinner"> 
    <item name="android:textColor">@color/black</item> 
</style> 

これが役立ちます。

+0

ドロップダウンでは動作しません –

+1

それは私のために働いた。あなたは直面している正確な問題を教えてください。 –

+1

実際に何も起こらない、テキストの色はバックグランドではなく –