webentwicklung-frage-antwort-db.com.de

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

Ich habe eine Textansicht und möchte über XML ein Aufzählungszeichen in meinem Text einfügen. Ist es möglich?

132
Pria

Sie müssen die rechte Zeichencodierung verwenden, um diesen Effekt zu erzielen. Sie könnten es mit • versuchen


Aktualisieren

Zur Klarstellung: Verwenden Sie setText("\u2022 Bullet");, um das Aufzählungszeichen programmgesteuert hinzuzufügen. 0x2022 = 8226

293
Benny Skogberg

Das hat für mich funktioniert:

<string name="text_with_bullet">Text with a \u2022</string>
52
jackbijou

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

Edit:hier ist ein Beispiel. Die beiden Buttons am unteren Rand haben Android:text="◄" und "►".

24
Felix

Eine bessere Lösung irgendwo 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 so, wie Sie es wünschen, aber wirklich eine Problemumgehung.

17
The Cageybee

So endete ich damit. 

 <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 drawable/circle.xml lautet

<?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
Irfan

Mit Unicode können wir das problemlos tun, aber wenn ich die Farbe der Kugel ändern möchte, habe ich es mit farbigem Kugelbild versucht und es als links gezeichnet gesetzt

<TextView     
    Android:text="Hello bullet"
    Android:drawableLeft="@drawable/bulleticon" >
</TextView>
4

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

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

 Result 

1
Faisal Naseer

Da Android <ol>, <ul> or <li> html-Elemente nicht 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 den benutzerdefinierten Speicherplatz beibehalten möchten, verwenden Sie </pre> tag.

0
war_Hero