Android在Spinner中更改文本颜色

我有一个Spinner并使用ArrayAdapter.在适配器中我使用“android.R.layout.simple_list_item_1”,如下所示:

spinnerControlObjectType.setAdapter(new ArrayAdapter(getApplicationContext, android.R.layout.simple_list_item_1, list))

我查看了android.R.layout.simple_list_item_1并看到它有这样的文本样式:

机器人:textAppearance = “机器人:ATTR / textAppearanceListItemSmall”

我想在我的主题中覆盖“textAppearanceListItemSmall”以赋予它不同的颜色,我该怎么做?我不想继承任何东西或编写代码样板.我确信有一种方法可以改变颜色,只更改theme.xml.

在android文档中,它写成:’…引用一个样式属性实质上说,“在当前主题中使用由此属性定义的样式.”……(http://developer.android.com/guide/topics/resources/accessing-resources.html#ReferencesToThemeAttributes).他们说“已定义”和“在当前主题中” – 我如何在当前主题中定义它?让我疯了……

解决方法:

为您的微调器项创建自定义XML文件

spinner_layout.xml

添加自定义颜色

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/custom_spinner"
    android:textSize="16sp"
    android:text="HELLO"
    android:padding="10dp"
    android:textColor="@color/colorAccent"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

使用此文件显示您的微调器项目

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, R.layout.spinner_layout,ar);
        mSpinner.setAdapter(adapter);
上一篇:HTML5制作在线地图


下一篇:java-将样式应用于单元格范围-Apache POI