【问题标题】:How to Change Radio Button Color in Spinner如何在 Spinner 中更改单选按钮颜色
【发布时间】:2018-07-14 10:29:53
【问题描述】:

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

微调器的字符串文件:

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

【问题讨论】:

    标签: android radio-button spinner


    【解决方案1】:
    Android:buttonTint="@color/yourcolor" 
    

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

    【讨论】:

    • 是 API 25 但不接受这个句子。我想要的是在微调器中设置颜色单选按钮。我猜你的答案只是单选按钮?
    【解决方案2】:

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

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

    首先,创建一个&lt;style&gt;,其中包含您想要的颜色:

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

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

    <Spinner
        android:theme="@style/SpinnerTheme"
        .../>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 2018-11-20
      • 2014-05-27
      • 1970-01-01
      • 2021-11-20
      相关资源
      最近更新 更多