22 Stimmen

Wie kann ich die Schriftfarbe des Spinners ändern?

Ich habe ein Problem mit den Droid X-Telefonen, bei dem die Benutzer sagen, dass die Schriftfarbe in der Drehscheibe weiß ist, so dass sie nicht sichtbar ist, es sei denn, die Benutzer markieren die Elemente. Bei anderen Handys scheint dieses Problem nicht aufzutreten. Ich wollte versuchen, die Schriftfarbe auf schwarz zu setzen, um zu sehen, ob das hilft. Wie kann ich das tun?

Hier ist, wie ich bin derzeit Pop-up der Spinner. Es scheint wie die simple_spinner_item ist auf Droid X's defekt.

String spin_arry[] = new String[str_vec.size()];
str_vec.copyInto(spin_arry);
ArrayAdapter adapter =
    new ArrayAdapter(this,android.R.layout.simple_spinner_item, spin_arry);

0voto

Haresh Raman Punkte 51

Sie können auch diesen Ansatz versuchen, bei dem Sie 2 neue Layout-Ressourcendateien hinzufügen

  1. Benutzerdefinierte_Spinner_Liste_Eintrag
  2. Benutzerdefiniert_spinner_dropdown_item

und verwenden Sie sie im Code.

String spin_arry[] = new String[str_vec.size()];
str_vec.copyInto(spin_arry);
ArrayAdapter adapter =
    new ArrayAdapter(this,R.layout.custom_simple_spinner_item, spin_arry);
adapter.setDropDownViewResource(R.layout.custom_spinner_dropdown_item);

custom_spinner_list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/text1"
    style="?attr/spinnerDropDownItemStyle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:fontFamily="@font/roman"
    android:singleLine="true"
    android:textAlignment="inherit"
    android:textColor="@color/black"
    android:textSize="14sp">

</TextView>

custom_spinner_dropdown_item.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/text1"
    style="?attr/spinnerDropDownItemStyle"
    android:layout_width="match_parent"
    android:layout_height="?attr/dropdownListPreferredItemHeight"
    android:ellipsize="marquee"
    android:fontFamily="@font/roman"
    android:singleLine="true"
    android:textAlignment="textStart"
    android:textColor="@color/black"
    android:textSize="14sp">

</TextView>

Viel Spaß beim Coding! :)

-1voto

sasad Punkte 1

Erstellen Sie Ihre eigene Layout-xml-Datei und geben Sie Android:textColor="#000" für schwarzen Text ein.

-1voto

Ejaz Waquif Punkte 1

Hier ist ein besserer Weg, Jungs,

Suchen Sie zunächst die Datei "simple_spinner_item.xml" in Ihrem System, Folgen Sie dem nachstehenden Pfad, C:\Users [username] \AppData\Local\Android\sdk\platforms [Android-23] \data\res\layout

Kopieren Sie nun den Inhalt der Datei "simple_spinner_item.xml".

Zweitens erstellen Sie die Datei custom_spinner.xml in Ihrem Projekt res \layout Ordner

und fügen Sie den kopierten Inhalt in die neu erstellte Datei ein

Hier ist das Beispiel:

bzw. \layout\custom_spinner.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView android:textAlignment="inherit"
    android:ellipsize="marquee"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:singleLine="true"
    android:textColor="@color/dark_gray"
    style="?android:attr/spinnerItemStyle"
    android:id="@android:id/text1" xmlns:android="http://schemas.android.com/apk/res/android"/>

Hier ist der Code für den Satzadapter:

Spinner ddlArea = (Spinner) findViewById(R.id.ddlArea);

ddlArea.setAdapter(new ArrayAdapter<String>(this, R.layout.custom_spinner, areaList));

Dabei ist areaList die Liste

Danke! Ejaz Waquif

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X