更改微调框的颜色

问题描述 投票:0回答:1

我有一个微调器,我想在不单击它时更改颜色。活动中的视图。单击后,我设法更改了文本和背景的颜色,但没有更改默认的文本和背景。而且由于该应用的背景很暗,因此很难看到。我怎样才能做到这一点。这是我在activity_main.xml上的微调代码

<Spinner
        android:id="@+id/spinner"
        android:layout_width="114dp"
        android:layout_height="33dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:theme="@style/Spinner"
        app:layout_constraintBottom_toTopOf="@+id/ping_btn"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.507"
        app:layout_constraintStart_toEndOf="@+id/editText"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.025" />

我的微调器样式

<style name="Spinner" parent="Widget.AppCompat.Light.DropDownItem.Spinner">
        <item name="android:paddingStart">0dp</item>
        <item name="android:paddingEnd">0dp</item>
        <item name="android:textColor">@color/textColor</item>
        <item name="android:backgroundTint">@color/background</item>
        <item name="android:textSize">14sp</item>
    </style>

这是该应用的屏幕截图http://pctechtips.org/apps/droid.png

android styles spinner
1个回答
0
投票

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

spinner_item.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="#FF0000"         
    android:padding="5dip"
    />

现在使用此文件显示您的微调项,例如:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item,list);

您无需设置下拉资源。只需要spinner_item.xml即可在Spinner中显示项目。

引用自[How to change spinner text size and text color?']

© www.soinside.com 2019 - 2024. All rights reserved.