从 Appcompat 21 全局覆盖样式

Globally overriding styles from Appcompat 21

我目前正在将应用程序移植到 r21 appcompat-v7 库(和 Android Studio/Gradle)。在这个应用程序中,几乎每个小部件都以某种方式设置了样式,这与以前使用的 r19 版本的库一起工作得很好。

自 r21 以来,system/lib 忽略了许多样式,并使用了 Material 样式。对于 SpinnerActionBarEditText 似乎尤其如此(至少在这些我发现了)。我的 RadioButtons,例如 CheckBoxes 的主题和以前一样。

这是 Spinner 的相关 XML (v14)(post 的名称已更改):

<style name="Theme.MyTheme" parent="@style/Theme.AppCompat.Light">
...  
    <item name="android:dropDownSpinnerStyle">@style/MySpinner</item>  
...   
</style>  

<style name="MySpinner" parent="Widget.AppCompat.Spinner">
    <item name="android:background">@drawable/spinner_background_holo_light</item>
    <item name="android:dropDownSelector">@drawable/list_selector_holo_light</item>
</style>

当然 Theme.MyTheme 是在清单应用程序范围内设置的。
现在有趣的是,当我分别为布局中的每个 Spinner 设置此样式时,它工作得很好。

那么,有人知道这是否是由支持库引起的吗?我该如何解决?谢谢!

AppCompat 覆盖了其平台主题的 android:spinnerStyle 属性。您是否已尝试覆盖它而不是 android:dropDownSpinnerStyle