Android 尝试覆盖样式会完全改变它
Android trying to override style changes it completely
我的 styles.xml
里有这个
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:spinnerStyle">@style/AppSpinnerStyle</item>
<!-- snip -->
</style>
<style name="AppSpinnerStyle" parent="android:Widget.Spinner">
<!-- My custom changes to go here -->
</style>
像这样重写 android:spinnerStyle 会完全改变微调器的外观。即使不应用我自己的任何自定义更改。
我只能想象通过继承 android:Widget.Spinner 我得到了某种默认样式而不是主题样式。
如何继承主题的样式?
编辑
我想我真正需要知道的是,我怎样才能知道 android:spinnerStyle 在我更改它之前引用了什么?
您继承自 android:Widget.Spinner,它不是 AppCompat 小部件,因此它不会具有 Theme.AppCompat.Light.DarkActionBar.
应有的微调器外观
我自己没有尝试过,但是尝试使用这些:
Widget.AppCompat.Spinner.DropDown.ActionBar
Widget.AppCompat.Light.Spinner.DropDown.ActionBar
如果您使用的是 AppCompat v7 的第 22 版,那么您也可以尝试:
Widget.AppCompat.Spinner.Underlined
我的 styles.xml
里有这个<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:spinnerStyle">@style/AppSpinnerStyle</item>
<!-- snip -->
</style>
<style name="AppSpinnerStyle" parent="android:Widget.Spinner">
<!-- My custom changes to go here -->
</style>
像这样重写 android:spinnerStyle 会完全改变微调器的外观。即使不应用我自己的任何自定义更改。
我只能想象通过继承 android:Widget.Spinner 我得到了某种默认样式而不是主题样式。
如何继承主题的样式?
编辑
我想我真正需要知道的是,我怎样才能知道 android:spinnerStyle 在我更改它之前引用了什么?
您继承自 android:Widget.Spinner,它不是 AppCompat 小部件,因此它不会具有 Theme.AppCompat.Light.DarkActionBar.
应有的微调器外观我自己没有尝试过,但是尝试使用这些:
Widget.AppCompat.Spinner.DropDown.ActionBar
Widget.AppCompat.Light.Spinner.DropDown.ActionBar
如果您使用的是 AppCompat v7 的第 22 版,那么您也可以尝试:
Widget.AppCompat.Spinner.Underlined