微调不应用dropDownSelector属性

我使用微调,并希望添加微调 – 改变行为取决于状态(集中,按下)

示例项目在这里https://github.com/vovs/spinner_issue

我的代码:

activity_main.xml中

<Spinner android:id="@+id/spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="30dp" android:spinnerMode="dropdown" android:dropDownSelector="@drawable/spinner_state" /> 

spinner_state.xml

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

AndroidManifest:

 <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" /> 

所以,如果我在模拟器Android 4.0.2 API 14中运行应用程序,并尝试select一些项目或滚动使用我的鼠标滚轮没有任何效果,我设置在select器(当按下或滚动 – 项目应该是红色的,但它蓝色 – 默认为ICS颜色)。

对于Android 2.2 API 8当按下或滚动使用滚轮(在这种情况下,状态为焦点)颜色是黄色[橙色](Android 2.2的默认颜色)

如何启用微调select器?

在这里输入图像说明

Solutions Collecting From Web of "微调不应用dropDownSelector属性"

也是一个官方的错误… https://code.google.com/p/android/issues/detail?id=24922

有什么帮助:

 <resources> <style name="Theme.MyTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:dropDownListViewStyle">@style/Theme.MyListView</item> </style> <style name="Theme.MyListView" parent="@android:style/Widget.Holo.Light.ListView"> <item name="android:listSelector">@drawable/orange_list</item> </style> </resources> 

祝你好运!

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:drawable="@color/lighter_gray_no_transparent" /> <item android:state_selected="true" android:drawable="@color/lighter_gray_no_transparent" /> <item android:state_pressed="true" android:drawable="@color/lighter_gray_no_transparent" /> <item android:drawable="@android:color/transparent"/> </selector> <color name="lighter_gray_no_transparent">#FFDDDDDD</color> 

为您的项目视图设置背景select器,就是这样。 为我工作。 颜色的alpha值应该是FF,否则会显示橙色背景 ,左边的一个颜色值是#FFDDDDDD ,正确的是#55DDDDDD

在这里输入图像说明在这里输入图像说明

可能还有其他的方法,但是这里是我从使用其中一个发生器了解的。

在你的res/values/styles.xml指向你的drawable声明自己的风格。

 <style name="myCustomSpinner" parent="android:Widget.Holo.Light.Spinner"> <item name="android:background">@drawable/spinner_state</item> </style> 

创buildres/values/themes.xml并声明从当前主题inheritance的自己的主题。 在这个主题中,为每个要修改的属性添加一个项目,并将其从最后一步指向您的自定义样式。 我想这可能会在样式文件中,如果你想,但由于生成器分离他们,我效仿。

 <style name="myCustomTheme" parent="android:Theme.Light"> <item name="android:dropDownSpinnerStyle">@style/myCustomSpinner</item> </style> 

在您的AndroidManifest ,将android:theme="@style/myCustomTheme"到打开的application标记中。

你的parent价值取决于项目的设置,我认为这将是你的项目中的纺纱者的风格,而不仅仅是一个。 试试看,让我知道你得到什么。