【发布时间】:2020-08-07 03:58:46
【问题描述】:
我正在尝试设置微调器弹出窗口的背景颜色,但我尝试过的所有操作都无法正常工作。
这是微调控件:
<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添加一个默认状态是可以的,但是spinner主控件用那个背景颜色显示项目,我不想要那个。
我尝试的另一件事是在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 不存在。
【问题讨论】:
标签: android background popup android-spinner android-2.3-gingerbread