2012-10-01 34 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

这是我在另一个线程计算器

<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

发现,同时指定一个布局资源文件微调的解决方案,你必须在两个地方设置。

  1. 尽管声明新ArrayAdapter

    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, R.layout.spinner_item, categories); 
    
  2. 在设置在阵列适配器上的dropDownViewResource。

    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

没有什么真的发生,文字颜色不是背景变化 –