如何从微调器下拉 CHOICES 自定义样式?

Posted

技术标签:

【中文标题】如何从微调器下拉 CHOICES 自定义样式?【英文标题】:How to customize style from spinner dropdown CHOICES? 【发布时间】:2011-12-26 00:57:00 【问题描述】:

我可以使用以下方法在微调器下拉菜单中自定义所选选项的背景:

<item name="android:spinnerStyle">@style/customSpinner</item>
<style name="customSpinner" parent="@android:style/Widget.Holo.Light.Spinner">
<item name="android:textColor">#000000</item>
<item name="android:background">#000000</item>
</style>

但我无法更改下拉菜单的选项列表的背景和文本颜色。我如何做到这一点?

【问题讨论】:

【参考方案1】:
adapter.setDropDownViewResource(R.layout.custom_spinner);

custom_spinner.xml -

<?xml version="1.0" encoding="utf-8"?>
<TextView
  xmlns:android="http://schemas.android.com/apk/res/android"
  parent="@android:style/TextAppearance_Widget_DropDownItem"
  android:textColor="#988767"
>
</TextView>

【讨论】:

谢谢,但我想使用默认的 android 样式,只是想更改文本颜色。我怎样才能做到这一点? 制作自定义样式,继承你想要的android样式并覆盖textColor属性 @DavidMarmoy 但我只是找不到适用于下拉列表选项的 Android 样式。选择的选项是 android:style/Widget.Holo.Light.DropDownItem.Spinner。但它不是其他可用选项的唯一选择。 我已经为你更新了答案。但是,这尚未经过测试,它应该为您指明正确的方向 对不起,我应该更彻底地阅读您的问题,我可以看到您已经知道如何做到这一点。那么,您是否正在为上述答案中的 textview 寻找要继承的样式名称?我不知道它的名字,但是一个hack可能是通过android sdk文件夹并导航到drawables,在那里你可以找到他们用于android spinner项目的ninepatch。然后你可以使用上面的adapter.setDropDownViewResource 和一个自定义的textview,你已经将背景设置为那个ninepatch。这只是我的想法,我相信你能找到更好的方法。

以上是关于如何从微调器下拉 CHOICES 自定义样式?的主要内容,如果未能解决你的问题,请参考以下文章

在android的微调器中设置视图文本在中心对齐

如何自定义firebase auth ui

Android微调器下拉图标不显示

spinner android kotlin 的自定义适配器不可见,但在单击下拉值时可见

Android:如何将微调器绑定到自定义对象列表?

自定义 setDropDownViewResource 微调项的示例