Как повернуть всплывающее окно с изменением цвета фона - PullRequest
0 голосов
/ 20 апреля 2020

Я хочу сделать окно открывания спиннера черным, но оно не работает.

Код стиля:

<style name="Spinner">
    <item name="android:popupBackground">@color/colorBlack</item>
    <item name="android:paddingStart">0dp</item>
    <item name="android:paddingEnd">0dp</item>
    <item name="android:textColor">@color/colorWhite</item>
    <item name="android:backgroundTint">@color/colorWhite</item>
    <item name="android:textSize">20sp</item>
    <item name="android:spinnerMode">dropdown</item>

</style>

Код счетчика

            <androidx.appcompat.widget.AppCompatSpinner
                style="@style/Widget.AppCompat.Spinner.Underlined"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:entries="@array/array_name"
                android:theme="@style/Spinner">

            </androidx.appcompat.widget.AppCompatSpinner>

Мое устройство android версия 5 (lolipop)

Ответы [ 2 ]

0 голосов
/ 21 апреля 2020

Вы должны применять стиль к спиннеру, а не к теме, чтобы внести изменения в xml.

 <androidx.appcompat.widget.AppCompatSpinner
               android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:entries="@array/array_name"
                style="@style/Spinner"/>

Добавить родителя к стилю спиннера.

<style name="Spinner" parent="Widget.AppCompat.Spinner.Underlined">
        <item name="android:popupBackground">@color/colorPrimary</item>
        <item name="android:background">@color/cardview_dark_background</item>
        <item name="android:paddingStart">0dp</item>
        <item name="android:paddingEnd">0dp</item>
        <item name="android:textColor">@color/white</item>
        <item name="android:backgroundTint">@color/white</item>
        <item name="android:textSize">20sp</item>
        <item name="android:spinnerMode">dropdown</item>

    </style>
0 голосов
/ 21 апреля 2020

Решение, которое я нашел, заключается в том, что вы поместили пользовательский макет элемента с нужным цветом фона в файл adapter.check ниже

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View vista = convertView;       

        // layout for spinner widget

        if (vista==null) {
            LayoutInflater inflater = actividad.getLayoutInflater();
            vista = inflater.inflate(R.layout.fila_colores_spinner, null);                  
        }

        return vista;
    }

    @Override
    public View getDropDownView(int position, View convertView,ViewGroup parent) {
        View vista = convertView;       

        //layout for spinner popup

        if (vista==null) {
            LayoutInflater inflater = actividad.getLayoutInflater();
            vista = inflater.inflate(R.layout.fila_colores_spinner_popup, null);                    
        }

        return vista;
    }
...