Ich habe meine Frage gegoogelt, aber es wird keine funktionierende Antwort bereitgestellt. Wie füge ich meiner Textansicht eine Liste mit Aufzählungszeichen hinzu?
89
Schwer zu tun, da ul / li / ol nicht unterstützt werden. Glücklicherweise können Sie dies als syntaktischen Zucker verwenden:
• foo<br/>
• bar<br/>
• baz<br/>
•
ist die HTML-Entität für eine Liste Aufzählungszeichen Weitere Auswahlmöglichkeiten finden Sie hier http://www.elizabethcastro.com/html/extras/entities.html
Weitere Informationen dazu, welche Tags von Mark Murphy (@CommonsWare) unterstützt werden http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html Laden Sie diese mit Html.fromHtml
((TextView)findViewById(R.id.my_text_view)).setText(Html.fromHtml(myHtmlString));
<string name="string_name"><![CDATA[ • foo<br /> • bar... ]]></string>
ul
/li
wird jetzt unterstützt stackoverflow.com/questions/9754076/…browep erklärte nett den Weg über HTML. Die mit der HTML-Entität bereitgestellte Lösung kann hilfreich sein. Aber es enthält nur die Kugel. Wenn Ihr Text umbrochen wird, ist der Einzug nicht korrekt.
Ich habe andere Lösungen gefunden, die eine Webansicht einbetten. Das ist vielleicht für einige angemessen, aber ich denke, es ist eine Art Overkill ... (Das gleiche gilt für die Verwendung einer Listenansicht.)
Ich mag den kreativen Ansatz von Nelson : D, aber er gibt Ihnen nicht die Möglichkeit, einer Textansicht eine ungeordnete Liste hinzuzufügen.
Mein Beispiel für eine ungeordnete Liste mit Aufzählungszeichen mit BulletSpan
Positiv:
Negativ:
quelle
Ich habe eine Alternative gefunden. Kopieren Sie einfach dieses Aufzählungszeichen "•" (es ist ein Text) und fügen Sie es in den Text Ihrer Textansicht ein. Sie können die Aufzählungszeichenfarbe ändern, indem Sie die Textfarbe und alle anderen Attribute wie Größe, Höhe und Breite ändern. .. :)
Sie können die Verknüpfung verwenden, um diese Kugel während der Eingabe zu erhalten
für Windows
für mac
quelle
Inspiriert von den verschiedenen Antworten hier habe ich eine Utility-Klasse erstellt, um dies zu einem einfachen Einzeiler zu machen . Dadurch wird eine Liste mit Aufzählungszeichen mit Einzug für umbrochenen Text erstellt. Es verfügt über Methoden zum Kombinieren von Zeichenfolgen, Zeichenfolgenressourcen und Zeichenfolgenarrayressourcen.
Es wird eine CharSequence erstellt, die Sie an eine Textansicht übergeben können. Beispielsweise:
Hoffe es ist hilfreich. Genießen.
Hinweis: Hierbei wird das Systemstandard-Aufzählungszeichen verwendet, ein kleiner Kreis mit der gleichen Farbe wie der Text. Wenn Sie ein benutzerdefiniertes Aufzählungszeichen möchten, sollten Sie BulletSpan in Unterklassen unterteilen und überschreiben,
drawLeadingMargin()
um das gewünschte Aufzählungszeichen zu zeichnen. Schauen Sie sich die BulletSpan-Quelle an, um eine Vorstellung davon zu bekommen, wie es funktioniert.quelle
Dies ist bei weitem die einfachste ..
quelle
Gebrauchsfertige Kotlin-Erweiterung
Verwendung:
Farben und Größe:
Verwenden Sie CustomBulletSpan anstelle von BulletSpan, um die Farbe oder Größe des Aufzählungszeichens zu ändern
quelle
Eine Option, die ich verwendet habe, war das Setzen des Aufzählungszeichens mithilfe eines Stils.
Verwendung:
quelle
android:drawableLeft=
Verwenden Sie eine einfache Textansicht mit einer zusammengesetzten Zeichnung. Beispielsweise
quelle
Hier ist eine andere Lösung, bei der einer Textansicht nicht genau eine Liste hinzugefügt wird, aber ich denke, das Ziel ist dasselbe. Es verwendet TableLayout, das nur XML benötigt, und es ist wirklich einfach für kleine geordnete oder ungeordnete Listen. Unten Beispielcode, den ich dafür verwendet habe, keine Codezeile in Java.
Positiv:
Negativ:
Jedes Listenelement wird als separate Zeichenfolgenressource gespeichert
und der Stil:
quelle
Hier ist eine Liste mit Aufzählungszeichen mit einer Kopfzeile und einer Registerkarte vor jedem Element.
quelle
Ging völlig übertrieben und machte eine benutzerdefinierte Textansicht.
Verwenden Sie es so:
und der Code:
quelle
•
müssten Sie ein anderes Symbol auswählen. Fsymbols.com/signs/bullet-pointIch finde, dass dies der einfachste Weg ist, die Textansicht so zu belassen, wie sie in der XML-Datei enthalten ist, und den folgenden Java-Code zu verwenden. es hat perfekt funktioniert für mich.
quelle
Eine Liste mit Aufzählungszeichen kann einfach mit dem
<ul>
und erstellt werden<li>
Tags in der Zeichenfolgenressource erstellt werden.VERWENDEN SIE NICHT setText (Html.fromHtml (string)) , um den String in Code zu setzen! Stellen Sie den String einfach normal in XML oder mit setText ( String ) ein.
Z.B:
string.xml Datei
layout.xml Datei
Es wird das folgende Ergebnis erzeugt:
Folgende Tags werden folgendermaßen unterstützt (direkt in die String-Ressource eingebettet):
quelle
<ul>
\n<ul><li>a</li> \n<li>b</li> \n<li>c</li></ul>
Denn
single line text
Sie können einfach Drawables verwenden:draw_bullet_list.xml :
Sie können ändern
shape
,size
,color
basierend auf Ihrer Anforderung.quelle
Sie haben zwei Möglichkeiten, eine Liste mit Aufzählungszeichen zu erstellen:
Option 1 ist am einfachsten.
quelle
Eine andere Möglichkeit, die fehlenden HTML-Tags zu unterstützen, besteht darin, sie wie hier gezeigt gut zu ersetzen
quelle
Wenn Sie eine Aufzählungsliste mit der editText-Struktur erstellen möchten.
Ich habe von diesen Referenzen profitiert
Sie können diese Aufzählungszeichen verwenden
quelle