我正在尝试在 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>
但是,有时微调器列表项选择的颜色会发生变化。
不知道什么时候能正常显示。随机选择颜色正在改变。有时选择显示为第一张图像,有时显示为第二张图像。
为什么会发生这种情况?如何解决这个问题?