Как установить цвет фона в раскрывающемся меню автозаполнения? - PullRequest
1 голос
/ 17 июня 2019

В настоящее время ведется работа по настройке элемента раскрывающегося раскрывающегося меню с использованием компонентов дизайна материала и рекомендаций для меню.Однако при отображении моего текстового представления автозаполнения он не имеет такой же фон, как мои другие текстовые поля.

Я попытался установить для атрибута boxBackgroundColor в TextInputLayout другой цвет и изменить фон в Autocomplete TextView.Также я устал видеть, могу ли я изменить всплывающую тему для меню, но мне не повезло.

 // In the onCreateView of fragment

        ArrayAdapter<String> adapter = new ArrayAdapter<>(getContext(), R.layout.dropdown_menu_popup_item, getResources().getStringArray(R.array.down_payment_method_selection));
        monthsAtEmploymentSelection.setAdapter(adapter);

<com.google.android.material.textfield.TextInputLayout
                style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="8dp"
                android:layout_marginEnd="8dp"
                android:hint="@string/months_at_employment_hint"
                app:boxBackgroundColor="@color/white">

                <AutoCompleteTextView
                    android:id="@+id/months_at_employment_selection"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

            </com.google.android.material.textfield.TextInputLayout>
<!--dropdown_menu_popup_item.xml-->
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="16dp"
    android:ellipsize="end"
    android:maxLines="1"
    android:textAppearance="?attr/textAppearanceSubtitle1"
    android:background="@color/white"/>

Я бы хотел, чтобы фон был прозрачным или соответствовал текущему фону, которыйустановлен на белый.В настоящее время это белый цвет, который не соответствует полям.

Example of color problems when using extended dropdown menu style

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

Установив атрибут app:boxBackgroundColor="@color/yourcolor" в поле TextInputLayout в вашем файле макета, следует правильно изменить цвет фона.

Возможно, вам также понадобится установить дочерние элементы android:background="@null", в моем случае AutoCompleteTextView для правильного учета атрибута boxBackgroundColor . В соответствии с документацией единственный раз, когда вам нужно установить цвет фона дочерних элементов, с полем edittext , однако я обнаружил, что он мне нужен с представлением автозаполнения из-за того, как тема моста приложений задавать.

0 голосов
/ 18 июня 2019

Вы использовали style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu" как стиль в AutoCompleteTextView.

Измените этот светло-серый цвет в style.xml на свой определенный цвет.

...