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 엔티티 인코딩) 여는 괄호를 사용하여 <
예를 들어 결과는 다음과 같아야합니다.
<resource>
<string name="your_string_here">This is an <u>underline</u>.</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()