正如我的前任所指定的那样,您不能在包含Spinner组件的主XML布局文件中执行此操作。
上面的答案很好,但如果我们想要使用Google的最佳实践,比如使用样式来管理所有东西,你可以按以下3个“简单”的步骤进行:
第一步:您需要在布局文件夹下创建一个额外的文件,用于设置Spinner项目的外观:
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:id="@+id/textViewSpinnerItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/SpinnerTextViewItem"
xmlns:android="http://schemas.android.com/apk/res/android" />
给这个文件取名:spinner_item_text.xml
步骤2:然后,在您的Activity类中,当您正在用一个项目数组填充Spinner时:
adapter = new ArrayAdapter<CharSequence>(this, R.layout.spinner_item_text, items)
spinner.setAdapter(adapter)
请注意:R.layout.spinner_item_text 资源应该在你自己的 R 文件中。
第三步: 在你的values文件夹下,创建或使用(你可能已经有一个)styles.xml文件。所需的样式条目应该像这个:
<style name="SpinnerTextViewItem" parent="@android:style/Widget.TextView" >
<item name="android:textSize" >8dp</item>
<item name="android:textStyle" >bold</item>
</style>
就是这样了!
到目前为止,在styles.xml文件中放置关于文本大小、样式、颜色等的所有内容非常实用,因此很容易维护。
<item name="android:textAppearance"> @android:style/TextAppearance.Holo.Widget.TextView.SpinnerItem </item>
(或任何适合主题的样式)添加到SpinnerTextViewItem
中,可以确保字体颜色在下拉列表背景上可见。 - Andrew Keeton