127

XML ファイルのテキストに下線を引くにはどうすればよいですか? にオプションが見つかりませんtextStyle

4

11 に答える 11

198

文字列リソース 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);

お役に立てれば

于 2012-04-04T20:55:14.220 に答える
68

これを使って:

TextView txt = (TextView) findViewById(R.id.Textview1);
txt.setPaintFlags(txt.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
于 2013-12-27T05:13:58.973 に答える
25
<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)));
于 2012-04-05T07:06:34.527 に答える
4

以下の方法を使用しましたが、うまくいきました。以下は Button の例ですが、TextView でも使用できます。

Button btnClickMe = (Button) findViewById(R.id.btn_click_me);
btnClickMe.setPaintFlags(btnClickMe.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
于 2016-11-07T06:28:21.893 に答える
4

それを行う別の方法は、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!" />
于 2018-01-11T12:44:37.793 に答える