如何在应用程序主题中设计Android Spinner

如何在应用程序主题中设计Android Spinner,android,xml,themes,android-spinner,Android,Xml,Themes,Android Spinner,我正在开发一个应用程序,我想为用户提供多个主题。我的问题是设置旋转器的样式。我只想使用默认微调器样式,但根据所选主题使用不同的背景和文本颜色。我试图在style.xml文件中设置我的微调器的样式,但我无法使其按我的意愿工作 我走了这么远: <style name="Dark_Theme" parent="Theme.AppCompat.Light.DarkActionBar"> ... <item name=&q

我正在开发一个应用程序,我想为用户提供多个主题。我的问题是设置旋转器的样式。我只想使用默认微调器样式,但根据所选主题使用不同的背景和文本颜色。我试图在
style.xml
文件中设置我的
微调器的样式,但我无法使其按我的意愿工作

我走了这么远:

<style name="Dark_Theme" parent="Theme.AppCompat.Light.DarkActionBar">
    ...
    
    <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
    <item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItem</item>
    <item name="spinnerStyle">@style/SpinnerStyle</item>

</style>

<style name="SpinnerItem">
    <item name="android:textColor">?attr/primaryTextColor</item>
    <item name="android:background">?attr/colorAccent</item>
</style>

<style name="SpinnerDropDownItem">
    <item name="android:textColor">?attr/primaryTextColor</item>
    <item name="android:background">?attr/colorAccent</item>
    <item name="android:textAlignment">center</item>
</style>

<style name="SpinnerStyle" parent="Widget.AppCompat.Spinner">
    <item name="android:background">?attr/colorAccent</item>
    <item name="android:textColor">?attr/primaryTextColor</item>

</style>

...
@样式/喷丝板项目
@样式/喷丝头下拉项
@风格/喷丝板风格
?属性/原始文本颜色
?属性/颜色重音
?属性/原始文本颜色
?属性/颜色重音
居中
?属性/颜色重音
?属性/原始文本颜色
我的问题是,当我使用行
@style/SpinnerStyle
时,下拉箭头消失了,这对用户来说不是很友好。看起来是这样的:

当我注释该行时,箭头会返回,但背景色不会应用于整个
微调器。看起来是这样的:

我想要的基本上是这两者的组合,其中背景色用于整个
微调器
,右侧的下拉箭头仍然在那里,以向用户显示它是
微调器

我一直在玩弄我能找到的所有与
微调器相关的标记,以及许多
父项
微调器主题,但没有一个像我希望的那样工作

那么有没有一种方法可以实现这一点,理想情况下使用xml样式和标记