텍스트 보기에서 글머리 기호를 추가하려면 어떻게 해야 합니까?
TextView가 있는데 XML을 통해 글에 글머리 기호를 추가하고 싶은데 가능한가요?
이 효과를 얻으려면 올바른 문자 인코딩을 사용해야 합니다.로 시도해 볼 수 있습니다.•
갱신하다
Just to clarify: use `setText("\u2022 Bullet");` to add the bullet programmatically. `0x2022 = 8226`이것은 저에게 효과가 있었습니다.
<string name="text_with_bullet">Text with a \u2022</string>
복사 붙여넣기: •.저는 ◄, ►와 같은 이상한 캐릭터들과 함께 했습니다.
편집: 예를 들어 보겠습니다.더투Button맨 아래에 있는 것은android:text="◄"그리고."►".
프롤리가 어딘가에서 더 나은 해결책을 찾았지만, 이것이 제가 한 일입니다.
<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>
원하는 대로 작동하지만 해결 방법이 있습니다.
Android 문서에 설명된 대로 BulletSpan을 사용할 수 있습니다.
SpannableString string = new SpannableString("Text with\nBullet point");
string.setSpan(new BulletSpan(40, color, 20), 10, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
텍스트 보기에서 글머리 기호를 추가하는 또 다른 가장 좋은 방법은 두 단계 아래에 나와 있습니다.
먼저 그리기 가능한 항목을 만듭니다.
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<!--set color of the bullet-->
<solid
android:color="#666666"/> //set color of bullet
<!--set size of the bullet-->
<size
android:width="120dp"
android:height="120dp"/>
</shape>
그런 다음 텍스트 뷰에 이 그리기 테이블을 추가하고 아래 속성을 사용하여 페딩을 설정합니다.
android:drawableStart="@drawable/bullet"
android:drawablePadding="10dp"
이렇게 해서 저는 하게 되었습니다.
<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>
그리고 drawbale/drawbale.xml의 코드는
<?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>
유니코드를 사용하면 쉽게 할 수 있지만, 글머리 기호의 색상을 바꾸고 싶다면 컬러 글머리 기호 이미지로 시도하여 다음과 같이 설정했습니다.drawableStart그리고 그것은 성공하였다.
<TextView
android:text="Hello bullet"
android:drawableStart="@drawable/bulleticon" >
</TextView>
안드로이드는 지원하지 않기 때문에<ol>, <ul> or <li>HTML 요소, 나는 이렇게 해야만 했습니다.
<string name="names"><![CDATA[<p><h2>List of Names:</h2></p><p>•name1<br />•name2<br /></p>]]></string>
사용자 지정 공간을 유지하려면 다음을 사용합니다.</pre> tag
(계속) 모든 옵션은 다음을 사용하는 것입니다.html꼬리표
텍스트 보기에 한 줄의 텍스트만 있는 경우 그리기 표를 사용할 수 있습니다.
다음과 같은 것:
<TextView
android:id="@+id/tv_with_bullet"
android:layout_width="match_parent"
android:layout_height="50dp"
app:drawableStartCompat="@drawable/ic_desired_bullet_icon" />
그리고 SVG에서 원하는 글머리 기호를 추가합니다. 문자 그대로 공간이 필요하지 않고 복잡한 추가 작업이 필요하지 않습니다.string literals또한 여기에서 글머리 기호에 대한 SVG 파일을 다운로드할 수 있습니다.
나는 코틀린에서 이 확장 함수를 만듭니다.
fun TextView.addBulletPoints(bulletSymbol: Char = '•') {
//•‣⁃∙◎◦⦾⦿
val lines = text?.split("\n") ?: emptyList()
val builder = SpannableStringBuilder()
for (line in lines) {
builder.append("$bulletSymbol ")
builder.append(line.trim())
builder.append("\n")
}
text = builder
}
또는 대체 API 24 상위
fun TextView.addBulletPoints(bulletGapWidth: Int = 32, bulletRadius: Int = 12, color: Int = currentTextColor) {
val lines = text?.split("\n") ?: emptyList()
val builder = SpannableStringBuilder()
for (line in lines) {
val start = builder.length
builder.append(line.trim())
builder.setSpan(BulletSpan(bulletGapWidth, color, bulletRadius), start, builder.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
builder.append("\n")
}
text = builder
}
언급URL : https://stackoverflow.com/questions/3429546/how-do-i-add-a-bullet-symbol-in-textview
'source' 카테고리의 다른 글
| Jquery Ajax에서 요청에 헤더를 추가하는 방법은 무엇입니까? (0) | 2023.08.24 |
|---|---|
| 오류: 열이 json 유형이지만 최대 절전 모드에서 식이 다양한 유형의 문자입니다. (0) | 2023.08.24 |
| jQuery 셀렉터에서 선두 콜론의 목적은 무엇입니까? (0) | 2023.08.24 |
| asp.net c#의 Web.config 파일에서 시작 페이지를 설정하는 방법 (0) | 2023.08.24 |
| null 값으로 날짜 열을 인덱싱하는 방법은 무엇입니까? (0) | 2023.08.24 |
