如何在微调器中更改单选按钮颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在微调器中更改单选按钮颜色相关的知识,希望对你有一定的参考价值。

当我使用带有单选按钮的微调器时,在单选按钮中选择颜色似乎是默认的。我想更改android中微调器中设置的单选按钮的默认颜色。我该怎么做?

The color I want to change (click to see)

spinner的字符串文件:

    <string-array name="Departments">
    <item>Body Exterior</item>
    <item>Body Interior</item>
    <item>Chassis</item>
    <item>EESE</item>
    <item>Powertrain</item>
    <item>Vehicle Engineering</item>
    <item>Other</item>

微调器的xml文件:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:orientation="horizontal">

    <Spinner
        android:id="@+id/spnDepartments"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="3"
        android:gravity="left" />
</LinearLayout>

用于微调器的java文件:

Spinner spnDepartments;
ArrayAdapter<CharSequence> adapter1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);

   spnDepartments = (Spinner) findViewById(R.id.spnDepartments);
   adapter1 = ArrayAdapter.createFromResource(this,R.array.Departments,
            android.R.layout.simple_spinner_item);
    adapter1.setDropDownViewResource(android.R.layout.select_dialog_singlechoice);
    spnDepartments.setAdapter(adapter1);
    spnDepartments.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
      }
    });
}
答案

您可以通过设置主题属性colorAccent(对于选定的单选按钮)和colorControlNormal(对于未选择的按钮)来控制微调器内单选按钮的颜色。

通常,这些是在您的应用程序(或您的活动)主题中设置的(从清单中的android:theme引用的样式)。但是如果你想为一个Spinner覆盖它们,你也可以这样做。

首先,创建一个具有您想要的颜色的<style>

<style name="SpinnerTheme">
    <item name="colorAccent">#00f</item>
    <item name="colorControlNormal">#00f</item>
</style>

然后,将此样式应用为Spinner的主题:

<Spinner
    android:theme="@style/SpinnerTheme"
    .../>
另一答案
Android:buttonTint="@color/yourcolor" 

但它仅适用于API 21或更高版本

以上是关于如何在微调器中更改单选按钮颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何更改单选按钮悬停颜色

如何在android中更改单选按钮的颜色?

如何以编程方式更改表格单元格中单选按钮组的单选按钮?

如何更改单选按钮的颜色?

如何更改蚂蚁设计中的单选按钮颜色?

如何在单击按钮上从微调器中删除所选项目?