Изменить popupbackground цвет диалога spinner

78
11

Я хочу изменить popupBackground цвет моего диалога spinner.

В моей activity.xml:

<Spinner
android:id="@+id/mCategorySpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/textView7"
android:entries="@array/recipeCategory"
android:spinnerMode="dialog"
android:popupBackground="@color/colorPrimary"
android:textAlignment="center" />

В моей activity.java:

categorySpinner=(Spinner) findViewById(R.id.mCategorySpinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.recipeCategory, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
categorySpinner.setPrompt("Choose category");
categorySpinner.setAdapter(new NothingSelectedSpinnerAdapter(
adapter,
R.layout.category_spinner_row_nothing_selected,
this));

Ничего не происходит, если я изменяю android:popupBackground в XML, он остается белым по умолчанию.
Но если я меняю фон, он работает, но это не для диалога фона.

спросил(а) 2021-01-25T14:39:19+03:00 4 месяца, 3 недели назад
1
Решение
64

Вы можете изменить цвет фона и выпадающий значок, как это делается

Шаг 1: В папке с рисунком создайте файл background.xml для фона счетчика.

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/transparent" />
<corners android:radius="5dp" />
<stroke
android:width="1dp"
android:color="@color/darkGray" />
</shape>

Шаг 2: Теперь примените этот фон на своем spinner в XML файле

 android:background="@drawable/background"

ответил(а) 2021-01-25T14:39:19+03:00 4 месяца, 3 недели назад
45

1.Use spinner_selector.xml

Чтобы показать цвет, который вы изменили

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

Стиль 2.Add

Добавьте его в стиль, и вы можете использовать его в другом месте.


<style name="spinner_style">
<item name="android:background">@drawable/spinner_selector</item>
</style>

3. Добавьте его в xml-код

Используйте его как фон спиннера.

<Spinner
android:id="@+id/mCategorySpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/textView7"
android:entries="@array/recipeCategory"
android:spinnerMode="dialog"
style="@style/spinner_style"
android:textAlignment="center" />

ответил(а) 2021-01-25T14:39:19+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема