Удалите верхний и нижний цвет фона выпадающих элементов

#android #xml #android-layout

Вопрос:

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

Это мой XML

 <com.google.android.material.textfield.TextInputLayout
        android:id="@ id/textInputLayoutGender"
        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="70dp"
        android:layout_marginEnd="32dp"
        android:hint="Gender"
        android:textColorHint="#858585"
        app:boxCornerRadiusBottomEnd="45dp"
        app:boxCornerRadiusBottomStart="45dp"
        app:boxCornerRadiusTopEnd="45dp"
        app:boxCornerRadiusTopStart="45dp"
        app:boxStrokeColor="@color/edit_textbox_color"
        app:boxStrokeWidth="2dp"
        app:endIconTint="#FFC153"
        app:hintTextColor="@color/yellow"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.506"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@ id/textViewInformation"
        tools:ignore="MissingConstraints">

        <AutoCompleteTextView
            android:id="@ id/gender"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableStart="@drawable/sex"
            android:drawablePadding="16dp"
            android:fontFamily="@font/montserrat_medium"
            android:inputType="textNoSuggestions"
            android:textColor="@color/yellow" />

    </com.google.android.material.textfield.TextInputLayout>
 

Это я использую для выпадающих элементов

 <com.google.android.material.textview.MaterialTextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:id="@ id/textView"
    android:background="@color/yellow"
    android:textColor="@color/black"
    android:padding="14dp"
    >

</com.google.android.material.textview.MaterialTextView>
 

Комментарии:

1. установите раскрывающийся фон макета.

Ответ №1:

Попробуйте применить рисование фона программно, как показано ниже:

 autoCompleteTextView.setDropDownBackgroundDrawable(
    context.getResources().getDrawable(R.drawable.yellow_drawable));
 

Создайте yellow_drawable.xml с помощью сплошного желтого цвета.

Комментарии:

1. или программно new ColorDrawable(color) , где color создается путем ContextCompat.getColor указания на R.color.yellow — то же, что установлено для фона для TextView

2. я использовал эту строку, она решена, но я не знал, как это сделать?? потому что я передал код белого цвета «gender.setDropDownBackgroundDrawable(Drawable.createFromPath(«#fff»));

Ответ №2:

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

 setDropDownBackgroundResource();
 

Вот официальный документ