Я пытаюсь установить цвет фона всплывающего окна spinner, но все, что я пробовал, не работает должным образом.
Это элемент управления spinner:
<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
не существует.