Android Appcompat v21 – 使用旧的微调器样式

我在一个项目中使用appcompat v21,但我不喜欢它默认带来的新spinner。 这个新的旋转器只带有一个向下的小箭头,表示它的存在。 我更喜欢在4.x版本的android中使用的旧微调器,它带有类似EditText的function,用于强调小部件的内容和右下角的箭头。

如何在使用appcompat v21的同时实现这种微调器的风格?

不受欢迎的微调风格:

不受欢迎的微调器的照片:

不受欢迎的旋转器的照片

想要的微调器的照片:

所需旋转器的照片

您只需将Spinner的样式设置为Widget.Holo.Light.Spinner

  

这将为您提供旧的Spinner-Style背面,但有两个缺点:

  1. 此解决方案仅适用于API级别14及以上(没有那么大的交易)
  2. DropDown Popup-Window的外观由“框架”管理 – 这意味着在Lollipop之前的设备上,Popup-Window将出现在Spinner下方。 从Lollipop开始它将在Spinner之上(afaik没有办法改变这个)。 关于这一点,请参阅以下比较(在左前Lollipop左侧)

微调器比较

如果您希望自定义DropDown的行,可以通过调用Spinner适配器上的setDropDownViewResource(int)并引用您自己的布局来实现。