我正在尝试设置微调器弹出窗口的背景颜色,但我尝试过的所有操作都无法正常工作。
这是微调器控件:
<Spinner
android:id="@+id/myspinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@null"
android:drawSelectorOnTop="true" />
当我单击它时,它会显示一个带有白色背景的弹出窗口,我想更改它。
我用来填充弹出窗口的 xml 行是:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/list_selector"
android:paddingBottom="@dimen/padding_medium"
android:layout_marginBottom="@dimen/padding_medium"
android:orientation="vertical">
..........
</RelativeLayout>
和可绘制的背景 list_selector.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Pressed -->
<item
android:state_pressed="true"
android:drawable="@color/green" /> <!-- @drawable/tab_press -->
<!-- Selected -->
<item
android:state_selected="true"
android:drawable="@color/green" /> <!-- @drawable/tab_press -->
</selector>
向上面的 xml 添加默认状态是可以的,但是微调器主控件显示具有该背景颜色的项目,我不希望这样。
我尝试过的另一件事是在 styles.xml 中将应用程序背景颜色设置为黑色
<style name="AppTheme" parent="android:Theme.Light">
<item name="android:background">#000000</item>
<item name="android:textColor">#FFFFFF</item>
<item name="android:typeface">sans</item>
</style>
这也覆盖了弹出背景,但它具有不良的附带影响。有没有办法以简单的方式实现这一点?
PS:我使用的是 API 级别 10 (2.3.3),并且该属性android:popupBackground
不存在。