在 Spinner 中,当特定项目 select 时,背景不会改变

In Spinner, Background get not changed when select on perticular item

我想在选择项目时更改我的微调器项目背景(不是微调器背景)。

我想要这样:

首先在drawable folder下创建一个名为

drawable

my_click_changer

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/your_new_Color" android:state_pressed="true" />
    <item android:drawable="@color/your_default_Color" android:state_pressed="false" />
</selector>

EDIT 这是为了改变 text color

创建另一个 drawable

text_color_changer

 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:color="@android:color/black" android:state_checked="true" />
   <item android:color="@android:color/white" />
 </selector>

然后为每个 Spinner 项目创建一个单独的布局,

your_xml_name.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@android:id/text1"
   style="?android:attr/spinnerItemStyle"
   android:layout_width="match_parent"
   android:layout_height="40dp"
   android:background="@drawable/my_click_changer"
   android:ellipsize="marquee"
   android:gravity="center"
   android:padding="10dp"
   android:singleLine="true"
   android:textAlignment="inherit"
   android:textSize="15sp"
   android:textColor="@drawable/text_color_changer"
   android:textStyle="bold" />

And in the code create Adapter by

    final ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(getContext(), R.layout.your_xml_name, yourList);