是否可以使用适用于v21之前设备的AppCompat库获得Widget.Material.Spinner.Underline的等效样式?
我想在我的应用程序中支持 v16+,但如果可能的话,我真的很想使用 AppCompat 库在微调器上获得下划线效果。
更新(2015 年 3 月 11 日):AppCompat 修订版 22 引入了包含下划线的微调器样式:"Base.Widget.AppCompat.Spinner.Underlined"(http://developer.android.com/tools/support-library/index.html#revisions)
旧答案:AppCompat 没有等价物,您必须自己添加下划线。
有一个关于这个问题的问题,该问题在"未来版本"中被标记为已修复。从那以后,已经发布了几个AppCompat版本,但仍然没有下划线风格的迹象。
https://code.google.com/p/android/issues/detail?id=77819
适用于任何需要代码来使其工作的人。只需确保您使用的是 AppCompat v7 库的 rev22,然后将以下内容放入您的 style.xml 文件中:
<item name="MySpinnerStyle">@style/Widget.AppCompat.Spinner.Underlined</item>
此外,请确保将MySpinnerStyle
更改为设置微调器的样式的名称。这是我得到答案的地方(归功于jkane001!
code.android.com:Appcompat:缺少微调器.下划线样式
<item name="android:spinnerStyle">@style/Widget.AppCompat.Spinner.Underlined</item>
<item name="colorControlHighlight">@color/your_color</item>
添加第二行后,我的kitkat设备上也加了下划线。
使用微调器的样式,例如:
style="@android:style/Widget.Holo.Light.Spinner"