Apuntes de personalización de un Spinner elemento visual para mostrar selector de lista
Cambiar el tamaño del texto o el color de un Spinner no es tan simple como usar el atributo android:textSize o android:textColor en el elemento Spinner.
Se requiere de crear recursos separados uno para el texto selecionado del spinner y el otro de los elementos de la lista de selección.

Definir el Spinner
<androidx.appcompat.widget.AppCompatSpinner
android:id="@+id/spinner_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:entries="@array/animals"
android:backgroundTint="#FF0000" />
Datos de muestra un array.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="animals">
<item>Dog</item>
<item>Fish</item>
<item>Horse</item>
<item>Rabbit</item>
<item>Parrot</item>
<item>Pigeon</item>
<item>Dck</item>
</string-array>
</resources>
Personalizar texto del Spinner
Crear un recurso layout con nombre spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="@style/Widget.AppCompat.TextView.SpinnerItem"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="#fff9c4"
android:ellipsize="end"
android:gravity="center_vertical"
android:lines="1"
android:textColor="#00Ff00" />
Aquí se puede cambiar el color del texto con la propiedad android:textColor y como tambien el color del fondo con android:background
Personalizar texto de los candidatos
Crear un recurso layout con nombre spinner_dropdown_item.xml
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:maxLines="1"
android:layout_width="match_parent"
android:layout_height="48dp"
android:ellipsize="marquee"
android:textColor="#aa66cc"/>
Aquí se puede cambiar el color del texto con la propiedad android:textColor y como tambien el color del fondo con android:background, pero si se modificar el color del fondo se perderá el efecto ripple al seleccionar un item de la lista.
Personalizando el Spinner
val adapter: ArrayAdapter<*> = ArrayAdapter.createFromResource(
requireContext(), R.array.animals, R.layout.spinner_item
)
adapter.setDropDownViewResource(R.layout.spinner_dropdown_item)
binding.spinnerView.adapter = adapter
Liinea 2 se asigna el layout del elemento del spinner y en la línea 4 se especifica el layout para los elementos seleccionables.
Demostración
