2

我正在尝试在 Android 中实现一个下拉列表。

这是Spinner我在 layout.xml 中使用的

       <Spinner
           android:scrollbars="vertical"
           android:id="@+id/spinner1"
           android:layout_width="125dp"
           android:layout_height="wrap_content"
           android:background="@android:color/transparent"
           android:prompt="@string/Category"
           
           />

MainActivity.java,我正在使用以下代码,

spinner=(Spinner)findViewById(R.id.spinner1); 
ArrayAdapter<String> spinner_adapter= new ArrayAdapter<String>(this,R.layout.spinner_layout,category_items);
spinner_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(year_adapter);

这是我的spinner_layout.xml

<?xml version="1.0" encoding="utf-8"?>
  <TextView xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/spinnerTarget"
              android:layout_width="180dp"
              android:layout_height="40dp"
              android:textSize="18sp"         
              android:textColor="@drawable/selector_text_color"
              android:background="@drawable/selector_background"
              android:gravity="center"/>

选择器文本颜色.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >            
   <item android:state_pressed="true" android:color="#F8BB00"/>    
   <item android:state_focused="true" android:color="#F8BB00"/>        
   <item android:state_focused="false" android:color="#FFFFFF"/>
   <item android:state_pressed="false" android:color="#FFFFFF"/>
   <item android:color="#F8BB00"/>  
</selector>

选择器背景.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" android:padding="0dp"
    >
    <solid android:color="#3F4040"/>
    <corners 
    android:radius="8dp"
    />
</shape>

但是,有时微调器列表项选择的颜色会发生变化。 在此处输入图像描述 在此处输入图像描述

不知道什么时候能正常显示。随机选择颜色正在改变。有时选择显示为第一张图像,有时显示为第二张图像。

为什么会发生这种情况?如何解决这个问题?

4

0 回答 0