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

时间:2015-04-04 13:41:16

标签: android xml spinner

 <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 code;

    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);

2 个答案:

答案 0 :(得分:2)

使用此代码在

中创建一个名为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);

答案 1 :(得分:1)

最简单的方法是创建一个复制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