Wie ändere ich den Textstil eines Spinner?

7

Ich erstelle einen Spinner in meinen Layout-XML-Dateien und setze ein String-Array auf diesen Spinner. Wenn ich den Textstil des Drehfelds ändere, ist der Text nicht von den Änderungen betroffen.

Ich habe in den googlegroups gelesen, dass ein Spinner keinen Text hat und daher der Textstyle nicht geändert werden kann und ich den Stil der Textansicht ändern muss, die im Spinner angezeigt wird. Aber wie kann ich das tun? Vorzugsweise in meiner XML-Datei.

    
Janusz 08.07.2010, 15:42
quelle

6 Antworten

13

Wenn Sie den Adapter erstellen, der den Spinner unterstützt, können Sie ein Layout für das Drehfeld festlegen.

%Vor%

Sie können some_text_view wie gewünscht gestalten.

%Vor%     
Robby Pond 08.07.2010, 15:47
quelle
19

Wie mein Vorgänger angegeben hat, können Sie dies nicht in der XML-Hauptdatei ausführen, in der sich die Spinner-Komponente befindet.

Und die obige Antwort ist nett, aber wenn wir die Best Practices von Google verwenden möchten, wie Sie wissen ... um Styles für alles zu verwenden ... können Sie es in drei einfachen Schritten tun:

Schritt 1: Sie benötigen eine zusätzliche Datei in Ihrem Layoutordner mit der Suche nach den Elementen des Spinner:

%Vor%

Benennen Sie diese Datei: spinner_item_text.xml

Schritt 2: Dann in Ihrer Aktivitätsklasse, wenn Sie den Spinner mit einem Array von Elementen füllen:

%Vor%

Beachten Sie, dass sich die Ressource R.layout.spinner_item_text in Ihrer eigenen R-Datei befindet.

Schritt 3: Erstellen oder verwenden Sie (unter Umständen bereits eine) die Datei styles.xml im Ordner "values". Der benötigte Stileintrag sollte wie folgt aussehen:

%Vor%

Und das ist es!

Bisher war es wirklich, wirklich praktisch, alles über Textgrößen, Stile, Farben usw. in eine Datei styles.xml zu schreiben, so dass es leicht zu pflegen ist.

    
Oscar S. 19.10.2011 01:56
quelle
12

Nur über XML

Im Anschluss an die ausgezeichnete Antwort von @Cyril REAL finden Sie hier eine gründliche Implementierung, wie Sie Ihre Spinner nur durch XML formatieren können, wenn Sie Ihren Spinner über android:entries füllen.

Die obigen Antworten funktionieren, wenn Sie Ihren Spinner über Code erstellen, aber wenn Sie Ihre Spinner-Einträge über XML setzen, zB mit android:entries , dann können Sie die Textgröße und andere anpassen Attribute mit den folgenden zwei Designeinstellungen:

In Ihrer res / values ​​/ styles.xml

%Vor%     
Joshua Pinter 16.01.2014 22:37
quelle
9

Eigentlich können Sie den Spinner-Text mit xml anpassen.

Definieren Sie in Ihrem eigenen Stil ein:

%Vor%

und definieren Sie auch diesen Stil:

%Vor%

Wenn Sie den Adapter des Spinners im Java-Code instanziieren, können Sie das Standard-android.R.layout.simple_spinner_item

verwenden     
Cyril REAL 15.01.2012 16:55
quelle
2

Wenn Sie solche Problemumgehungen nicht möchten, gibt es einen einfachen Weg. Hol dir die Textansicht vom Drehfeld und ändere ihre Parameter:

%Vor%     
Vedavyas Bhat 20.02.2014 20:10
quelle
0

Wenn Sie nur den Hintergrund des Popups ändern möchten Rufen Sie in Spinner diese Methode auf:

%Vor%     
Amir Hossein Ghasemi 23.01.2018 08:14
quelle

Tags und Links