如何为我拥有的微调器设置文本颜色?

How can I set the Text colour for this spinner that I have?

 <Spinner
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/spinner_statements"
            android:background="@drawable/file"
            android:spinnerMode="dropdown"
            android:visibility="gone"
            android:layout_marginTop="15dp"
            android:touchscreenBlocksFocus="false" />

我想知道我是否可以在某处指定我希望此微调器中的项目的文本颜色应该是黑色。

java代码;

    final Spinner spinner= (Spinner)findViewById(R.id.spinner);
    String[] items = new String[]{"one", "two"};
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, items);
    spinner.setAdapter(adapter);

创建一个名为 spinner_layout.xml 的 xml,其中包含此代码

<?xml version="1.0" encoding="utf-8"?>

<TextView  
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"
      android:textSize="20sp"
      android:gravity="left"  
      android:textColor="#FFFFF"         
      android:padding="5dip"
/>

并将数组适配器修改为

ArrayAdapter<String> adapter = new ArrayAdapter<String>  (this,R.layout.spinner_layout, items);

最简单的方法是创建一个布局文件,复制 android.R.layout.simple_spinner_dropdown_item.xml 并应用您想要的颜色。

假设my_item.xml如下。

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="?android:attr/dropdownListPreferredItemHeight"
android:textColor="@android:color/holo_purple"
android:ellipsize="marquee"/>

请参阅添加的 android:textColor 行。

您的 java 代码现在更改如下。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.my_item, items);

如果你想为每个项目或某些规则制作不同的颜色,你必须创建自定义 Adapter 继承自 BaseAdapter class.