Android 레이아웃에서 텍스트에 밑줄을 그을 수 있습니까? 밑줄이있는 텍스트를 어떻게

Android 레이아웃 파일 에서 밑줄이있는 텍스트를 어떻게 정의 할 수 xml있습니까?



답변

, 및과 같은 HTML 태그를 지원 하는 문자열 리소스 xml 파일을 사용하는 경우 달성 할 수 있습니다 .<b></b><i></i><u></u>

<resources>
    <string name="your_string_here">This is an <u>underline</u>.</string>
</resources>

코드에서 무언가에 밑줄을 표시하려면 다음을 사용하십시오.

TextView textView = (TextView) view.findViewById(R.id.textview);
SpannableString content = new SpannableString("Content");
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
textView.setText(content);

답변

당신은 시도 할 수 있습니다

textview.setPaintFlags(textview.getPaintFlags() |   Paint.UNDERLINE_TEXT_FLAG);

답변

위의 “허용 된”답변이 작동 하지 않습니다 (문자열을 사용하려고 할 때textView.setText(Html.fromHtml(String.format(getString(...), ...))) .

문서에 명시된 바와 같이 내부 태그의 이스케이프 (html 엔티티 인코딩) 여는 괄호를 사용하여 &lt;예를 들어 결과는 다음과 같아야합니다.

<resource>
    <string name="your_string_here">This is an &lt;u&gt;underline&lt;/u&gt;.</string>
</resources>

그런 다음 코드에서 다음을 사용하여 텍스트를 설정할 수 있습니다.

TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText(Html.fromHtml(String.format(getString(R.string.my_string), ...)));

답변

Strings.xml 파일 내용 :

<resource>
     <string name="my_text">This is an <u>underline</u>.</string>
</resources> 

레이아웃 xml 파일 shold는 아래와 같이 textview의 아래 속성과 함께 위의 문자열 리소스를 사용합니다.

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:text="@string/my_text"

    android:selectAllOnFocus="false"
    android:linksClickable="false"
    android:autoLink="all"
    />

답변

Button 및 TextView의 경우 가장 쉬운 방법입니다.

단추:

Button button = (Button) findViewById(R.id.btton1);
button.setPaintFlags(button.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);

텍스트 뷰 :

TextView textView = (TextView) findViewById(R.id.textview1);
textView.setPaintFlags(textView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);

답변

한 줄 솔루션

myTextView.setText(Html.fromHtml("<p><u>I am Underlined text</u></p>"));

조금 늦었지만 누군가에게 유용 할 수 있습니다.


답변

Kotlin에서 확장 기능을 사용할 수 있습니다. 이것은 XML이 아닌 코드에서만 사용할 수 있습니다.

fun TextView.underline() {
    paintFlags = paintFlags or Paint.UNDERLINE_TEXT_FLAG
}

용법:

 tv_change_number.underline()
 tv_resend_otp.underline()