XML 파일에서 텍스트에 어떻게 밑줄을 긋나요? 에서 옵션을 찾을 수 없습니다 textStyle
.
textView.setText(Html.fromHtml("<u>"+"testest"+"</u>"));
XML 파일에서 텍스트에 어떻게 밑줄을 긋나요? 에서 옵션을 찾을 수 없습니다 textStyle
.
textView.setText(Html.fromHtml("<u>"+"testest"+"</u>"));
답변:
문자열 리소스 xml 파일 (HTML 태그 지원)을 사용하는 경우 <b> </b>
, <i> </i>
및을 사용하여 수행 할 수 있습니다 <u> </u>
.
<resources>
<string name="your_string_here">
This is an <u>underline</u>.
</string>
</resources>
코드에서 밑줄을 긋고 싶다면 다음을 사용하십시오.
TextView tv = (TextView) view.findViewById(R.id.tv);
SpannableString content = new SpannableString("Content");
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
tv.setText(content);
도움이 되었기를 바랍니다
<u>
예를 들어 사용자 정의 글꼴을 사용하는 경우와 같이 태그를 통한 기본 이 작동하지 않는 경우가 있습니다. 그러나 프로그래밍 방식으로 기반 UnderlineSpan
을 둔 것은 실제로 실패한 적이 없으므로 가장 안정적인 솔루션으로 권장합니다.
<u>
하고 <\u>
XML에서, 그것은 충분하다.
이것을 사용하십시오 :
TextView txt = (TextView) findViewById(R.id.Textview1);
txt.setPaintFlags(txt.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
UnderlineSpan
.
<resource>
<string name="your_string_here">This is an <u>underline</u>.</string>
</resources>
작동하지 않으면
<resource>
<string name="your_string_here">This is an <u>underline</u>.</string>
"<"는 때때로 키워드가 될 수 있기 때문입니다.
그리고 표시를 위해
TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText(Html.fromHtml(getString(R.string.your_string_here)));
먼저 String.xml 파일로 이동하십시오.
여기에, 기울임 꼴, 굵게 또는 밑줄과 같은 HTML 속성을 추가 할 수 있습니다.
<resources>
<string name="your_string_here">This is an <u>underline</u>.</string>
</resources>
이를 수행하는 또 다른 방법은 TextView를 확장하는 사용자 정의 구성 요소를 만드는 것입니다. 여러 개의 밑줄이 그어진 TextView가 필요한 경우에 좋습니다.
다음은 구성 요소의 코드입니다.
package com.myapp.components;
import android.content.Context;
import android.support.v7.widget.AppCompatTextView;
import android.text.SpannableString;
import android.text.style.UnderlineSpan;
import android.util.AttributeSet;
public class LinkTextView extends AppCompatTextView {
public LinkTextView(Context context) {
this(context, null);
}
public LinkTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void setText(CharSequence text, BufferType type) {
SpannableString content = new SpannableString(text);
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
super.setText(content, type);
}
}
그리고 xml에서 사용하는 방법 :
<com.myapp.components.LinkTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello World!" />
Bhavin 답변을 완료하려면. 예를 들어 밑줄이나 리디렉션을 추가합니다.
((TextView) findViewById(R.id.tv_cgu)).setText(Html.fromHtml(getString(R.string.upload_poi_CGU)));
<string name="upload_poi_CGU"><![CDATA[ J\'accepte les <a href="">conditions générales</a>]]></string>
여기에서 호환 가능한 태그를 알 수 있습니다. http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html
당신은 당신이 설정 한 경우 그 아래의 마크 업하지만, 노트 사용 textAllCaps
에 true
밑줄 효과를 제거 할 것입니다.
<resource>
<string name="my_string_value">I am <u>underlined</u>.</string>
</resources>
노트
마크 업이 포함 된 문자열 (login_change_settings)과 함께 textAllCaps 사용 마크 업은 캡 변환에 의해 삭제됩니다.
textAllCaps 텍스트 변환은 CharSequence에서 toString을 호출하게되며, 이는. 이 검사는 textAllCaps = true를 지정하는 마크 업이 포함 된 문자열의 사용을 찾습니다.
Android TextView에서 밑줄이 그어진 텍스트를 얻는 방법에는 여러 가지가 있습니다.
1. <u>This is my underlined text</u>
또는
I just want to underline <u>this</u> word
2. 프로그래밍 방식으로 동일한 작업을 수행 할 수 있습니다.
`textView.setPaintFlags(textView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);`
3. SpannableString을 생성 한 다음 TextView 텍스트 속성으로 설정하여 수행 할 수 있습니다.
SpannableString text = new SpannableString("Voglio sottolineare solo questa parola");
text.setSpan(new UnderlineSpan(), 25, 6, 0);
textView.setText(text);
아래 방법을 사용했는데 저에게 효과적이었습니다. 아래는 Button의 예이지만 TextView에서도 사용할 수 있습니다.
Button btnClickMe = (Button) findViewById(R.id.btn_click_me);
btnClickMe.setPaintFlags(btnClickMe.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
텍스트 문자열을 비교하거나 텍스트가 동적으로 변경되는 경우 Constraint 레이아웃에서보기를 만들 수 있으며 다음과 같이 텍스트 길이에 따라 조정됩니다.
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/txt_Previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="8dp"
android:gravity="center"
android:text="Last Month Rankings"
android:textColor="@color/colorBlue"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<View
android:layout_width="0dp"
android:layout_height="0.7dp"
android:background="@color/colorBlue"
app:layout_constraintEnd_toEndOf="@+id/txt_Previous"
app:layout_constraintStart_toStartOf="@+id/txt_Previous"
app:layout_constraintBottom_toBottomOf="@id/txt_Previous"/>
</android.support.constraint.ConstraintLayout>
public void setUnderLineText(TextView tv, String textToUnderLine) {
String tvt = tv.getText().toString();
int ofe = tvt.indexOf(textToUnderLine, 0);
UnderlineSpan underlineSpan = new UnderlineSpan();
SpannableString wordToSpan = new SpannableString(tv.getText());
for (int ofs = 0; ofs < tvt.length() && ofe != -1; ofs = ofe + 1) {
ofe = tvt.indexOf(textToUnderLine, ofs);
if (ofe == -1)
break;
else {
wordToSpan.setSpan(underlineSpan, ofe, ofe + textToUnderLine.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(wordToSpan, TextView.BufferType.SPANNABLE);
}
}
}
TextView tv = findViewById(R.id.tv);
tv.setText("some text");
setUnderLineText(tv, "some");
EditText, Button, Checkbox와 같은 TextView 자식도 지원합니다.
네가 원한다면
-클릭 가능한 밑줄 텍스트?
-TextView의 여러 부분에 밑줄을 긋습니까?
그런 다음 이 답변 확인
style="text-decoration: underline;"