Wie füge ich ein Aufzählungszeichen in TextView hinzu?

Antworten:

359

Sie müssen die richtige Zeichenkodierung verwenden , um diesen Effekt zu erzielen. Sie könnten es versuchen•


Aktualisieren

Nur zur Verdeutlichung: Verwenden Sie setText("\u2022 Bullet");diese Option, um das Aufzählungszeichen programmgesteuert hinzuzufügen.0x2022 = 8226

Benny Skogberg
quelle
1
Das hat mir geholfen.
Vikas
4
Das ist die richtige Antwort. Richtiger als das Einfügen der Kugel.
Kyle Clegg
2
@Benny, das funktioniert nicht, wenn ich Text programmgesteuert einstelle. textView.setText ("& # 8226; Hallo");
Dwivedi Ji
27
Nur zur Verdeutlichung: Verwenden Sie setText("\u2022 Bullet");diese Option, um das Aufzählungszeichen programmgesteuert hinzuzufügen. 0x2022 = 8226
Diederik
106
Hier sind Zeichencode für diese verschiedenen • = \u2022, ● = \u25CF, ○ = \u25CB, ▪ = \u25AA, ■ = \u25A0, □ = \u25A1, ► = \u25BA
Arten
59

Das hat bei mir funktioniert:

<string name="text_with_bullet">Text with a \u2022</string>
Jackbijou
quelle
27

Kopieren Einfügen: •. Ich habe es mit anderen seltsamen Charakteren wie ◄ und ► gemacht.

Bearbeiten: Hier ist ein Beispiel. Die beiden Buttons unten haben android:text="◄"und "►".

Felix
quelle
7
Das Problem ist, wenn Zeilenumbrüche. Es wird keine 2. Zeile
eingerückt
4
Verwenden Sie einfach ein lineares Layout mit horizontaler Ausrichtung, erste Textansicht mit "Symbol und Leerzeichen". Zweitens: =) Der Text, => alles beabsichtigt
cV2
18

Prolly eine bessere Lösung da draußen, aber das habe ich getan.

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        >
        <TableRow>    
            <TextView
                android:layout_column="1"
                android:text="•"></TextView>
            <TextView
                android:layout_column="2"
                android:layout_width="wrap_content"
                android:text="First line"></TextView>
        </TableRow>
        <TableRow>    
            <TextView
                android:layout_column="1"
                android:text="•"></TextView>
            <TextView
                android:layout_column="2"
                android:layout_width="wrap_content"
                android:text="Second line"></TextView>
        </TableRow>
  </TableLayout>

Es funktioniert wie Sie wollen, aber eine Problemumgehung wirklich.

Der Cageybee
quelle
9

Sie können BulletSpan wie in den Android-Dokumenten beschrieben ausprobieren .

SpannableString string = new SpannableString("Text with\nBullet point");
string.setSpan(new BulletSpan(40, color, 20), 10, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

Ergebnis

Faisal Naseer
quelle
Was ist mit der Verwendung der Eigenschaft bullRadius vor API 28?
Ibrahimyilmaz
6

So kam ich dazu.

 <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <View
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:background="@drawable/circle"
                android:drawableStart="@drawable/ic_bullet_point" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:text="Your text"
                android:textColor="#000000"
                android:textSize="14sp" />
        </LinearLayout>

und der Code für drawbale / circle.xml ist

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:innerRadius="0dp"
  android:shape="ring"
  android:thickness="5dp"
  android:useLevel="false">

 <solid android:color="@color/black1" />

</shape>
Irfan
quelle
4

Mit Unicode können wir das problemlos tun, aber wenn ich die Farbe des Aufzählungszeichens ändern möchte, habe ich es mit einem farbigen Aufzählungsbild versucht und es als links zeichnbar festgelegt, und es hat funktioniert

<TextView     
    android:text="Hello bullet"
    android:drawableLeft="@drawable/bulleticon" >
</TextView>
Aditya Vyas-Lakhan
quelle
0

Da Android keine <ol>, <ul> or <li>HTML-Elemente unterstützt, musste ich es so machen

<string name="names"><![CDATA[<p><h2>List of Names:</h2></p><p>&#8226;name1<br />&#8226;name2<br /></p>]]></string>

Wenn Sie benutzerdefinierten Speicherplatz beibehalten möchten, verwenden Sie </pre> tag

Mightian
quelle