Ich habe dies mit einer anderen einfachen Technik gemacht,
Kopieren Sie die Dateien simple_spinner_item.xml und simple_spinner_dropdown_item.xml aus dem Android-Ordner res / layout und kopieren Sie sie in Ihr Projekt.
Ändern Sie dann die folgenden Zeilen
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, Android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(Android.R.layout.simple_spinner_dropdown_item);
spinnerSubject.setAdapter(adapter);
wie:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.simple_spinner_item);
adapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item);
spinnerSubject.setAdapter(adapter);
Der Rest ist einfach. Sie können jetzt die Datei simple_spinner_item.xml bearbeiten, um das Erscheinungsbild eines sichtbaren Elements im Spinner-Widget zu bearbeiten, und die Datei simple_spinner_dropdown_item.xml bearbeiten, um das Erscheinungsbild der Dropdown-Liste zu ändern.
Zum Beispiel enthält mein Aktivitätslayout:
<Spinner
android:id="@+id/mo_spinnerSubject"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:background="@drawable/spinnerset_background" />
und meine simple_spinner_item.xml enthält jetzt:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:textColor="@color/custom_white"
android:textSize="16sp" />
und die simple_spinner_dropdown_item.xml sieht aus wie:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:background="@color/custom_black"
android:ellipsize="marquee"
android:singleLine="true"
android:textColor="@color/custom_white" />