[android] Android XML에서 텍스트에 어떻게 밑줄을 긋나요?

XML 파일에서 텍스트에 어떻게 밑줄을 긋나요? 에서 옵션을 찾을 수 없습니다 textStyle.



답변

문자열 리소스 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);

도움이 되었기를 바랍니다


답변

이것을 사용하십시오 :

TextView txt = (TextView) findViewById(R.id.Textview1);
txt.setPaintFlags(txt.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);


답변

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

작동하지 않으면

<resource>
<string name="your_string_here">This is an &lt;u>underline&lt;/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


답변

당신은 당신이 설정 한 경우 그 아래의 마크 업하지만, 노트 사용 textAllCapstrue밑줄 효과를 제거 할 것입니다.

<resource>
    <string name="my_string_value">I am <u>underlined</u>.</string>
</resources>

노트

마크 업이 포함 된 문자열 (login_change_settings)과 함께 textAllCaps 사용 마크 업은 캡 변환에 의해 삭제됩니다.

textAllCaps 텍스트 변환은 CharSequence에서 toString을 호출하게되며, 이는. 이 검사는 textAllCaps = true를 지정하는 마크 업이 포함 된 문자열의 사용을 찾습니다.