Ich versuche, den Textinhalt meines ActionBar-Navigationsdrehfelds zu umbrechen (ich verwende ActionBar Sherlock). Es scheint, dass mein Spinner die Breite der Elemente in der Dropdown-Liste nimmt.
Wie kann ich den ausgewählten Gegenstand im Kreisel entsprechend seiner Breite "wickeln"? Ein Beispiel findet sich im Aktionsfeld Spooler von GMaps.
UPDATE:
Laden Sie mein Beispielprojekt hier herunter: Spinner-Breitentest (Dropbox-Ordner) (Es enthält beide Lösungen in dieser Antwort).
Da das Unterschneiden (Buchstabenabstand) der Zeichen abhängig vom Text unterschiedlich ist, änderte sich die Breite des Zahlenauswahlfelds auch in der Breite, die ich früher (unten) angegeben habe
Anstatt den Titel mit einem Teilstring zu versehen, setzen Sie einfach die Breite des TextView in Pixel wie folgt:
%Vor%Der Text wird jetzt abgeschnitten und endet mit "..".
Die Breite des Drehfelds bleibt gleich.
Sie können für die Dropdown-Liste und den Spinner
Sie benötigen noch einen benutzerdefinierten SpinnerAdapter, aber Sie benötigen kein benutzerdefiniertes
SpinnerItem-Klasse, geben Sie dem Adapter einfach ein Array String [].
spinner.setAdapter (neu TruncatedSpinnerAdapter (stringArray)); // String []
In TruncatedSpinnerAdapter:
%Vor%Die Antwort vor dem Update:
Sie können die Textsorte umbrechen, indem Sie einen benutzerdefinierten SpinnerAdapter erstellen, in dem Sie die Länge des Textes steuern, den Sie in der Ansicht des Drehfelds und in der Dropdown-Ansicht des Drehfelds anzeigen.
%Vor%füllt den Adapter mit einer benutzerdefinierten SpinnerItem-Klasse, die einen verkürzten Titel für die Spinner-Ansicht halten und zurückgeben kann.
%Vor%Mit der SpinnerItem-Klasse können Sie die Länge des Titels steuern, der in der Drehfeldelementansicht angezeigt wird, indem Sie beim Erstellen des SpinnerItem-Objekts eine MAX-Titellänge festlegen.
%Vor%Fügen Sie dann den SpinnerAdapter zum Spinner
hinzu %Vor%ActionBar: Spinner in menu.xml Beispiel
%Vor%Tags und Links android android-layout actionbarsherlock spinner android-spinner