Làm cách nào để thêm biểu tượng dấu đầu dòng trong TextView?


Câu trả lời:


359

Bạn phải sử dụng mã hóa ký tự phù hợp để thực hiện hiệu ứng này. Bạn có thể thử với•


Cập nhật

Chỉ cần làm rõ: sử dụng setText("\u2022 Bullet");để thêm viên đạn theo chương trình.0x2022 = 8226


1
Điều này đã giúp tôi.
Vikas

4
Đây là câu trả lời đúng. Chính xác hơn là dán viên đạn vào.
Kyle Clegg

2
@Benny, Điều này không hoạt động nếu tôi đặt văn bản theo chương trình. textView.setText ("& # 8226; xin chào");
Dwivingi Ji

27
Chỉ cần làm rõ: sử dụng setText("\u2022 Bullet");để thêm viên đạn theo chương trình. 0x2022 = 8226
Diederik

106
Dưới đây là mã ký tự cho các kiểu đạn khác nhau này: • = \u2022, ● = \u25CF, ○ = \u25CB, ▪ = \u25AA, ■ = \u25A0, □ = \u25A1, ► = \u25BA
quent

59

Điều này làm việc cho tôi:

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

27

Sao chép dán: •. Tôi đã thực hiện nó với các nhân vật kỳ lạ khác, chẳng hạn như và ►.

Chỉnh sửa: đây là một ví dụ. Hai Buttons ở phía dưới có android:text="◄""►".


7
Vấn đề là khi kết thúc dòng. Nó sẽ không thụt dòng thứ 2
Bostone

4
chỉ cần sử dụng bố cục tuyến tính với hướng ngang, chế độ xem văn bản đầu tiên với "Biểu tượng và không gian" thứ hai: =) văn bản, => tất cả dự định
cV2

18

Hoàn toàn là một giải pháp tốt hơn ở đâu đó, nhưng đây là những gì tôi đã làm.

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

Nó hoạt động như bạn muốn, nhưng một cách giải quyết thực sự.


9

Bạn có thể thử BulletSpan như được mô tả trong tài liệu Android.

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

Kết quả


Còn về việc sử dụng thuộc tính đạnRadius trước API 28 thì sao?
ibrahimyilmaz

6

Đây là cách tôi đã làm nó.

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

và mã cho drawbale / circle.xml là

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

Với Unicode, chúng tôi có thể thực hiện dễ dàng, nhưng nếu muốn thay đổi màu của viên đạn, tôi đã thử với hình ảnh viên đạn màu và đặt nó ở dạng có thể vẽ được và nó hoạt động được

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

0

Vì Android không hỗ trợ <ol>, <ul> or <li>các phần tử html, tôi đã phải làm như thế này

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

Nếu bạn muốn duy trì không gian tùy chỉnh thì hãy sử dụng </pre> tag

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.