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


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>

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 "►".


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.


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


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>

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>

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.