Câu trả lời:
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•
Chỉ cần làm rõ: sử dụng setText("\u2022 Bullet");
để thêm viên đạn theo chương trình.0x2022 = 8226
setText("\u2022 Bullet");
để thêm viên đạn theo chương trình. 0x2022 = 8226
• = \u2022, ● = \u25CF, ○ = \u25CB, ▪ = \u25AA, ■ = \u25A0, □ = \u25A1, ► = \u25BA
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 Button
s ở phía dưới có android:text="◄"
và "►"
.
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ự.
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);
Đâ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>
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>