如何在应用程序主题中设计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样式和标记