14

アプリケーションにボタンがあります。ボタンのテキストは「Type: Location」のようになります。

ボタンのテキストを「タイプ:場所」に変更できるかどうか疑問に思います。

つまり、ボタンのテキストを部分的に太字にしますか?

よろしくお願いします。

4

6 に答える 6

31

次のようなより良い選択肢があります: android:textStyle="bold" android api support bold

于 2011-09-02T10:36:07.650 に答える
24

文字列をstrings.xmlに入れて、次のように変更するだけです。

 <string name="hello"><b>Hello</b> World, fh!</string>

このテキストをこのようにボタンに設定します

<Button
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textAllCaps="false"
    android:text="@string/hello"
    />

ダイナミックテキストを使用する必要がある場合は、上記のアプローチが役に立たないことがあります。したがって、その場合、SpannableStringが動作します。

  String tempString="Copyright";
  Button button=(Button)findViewById(R.id.button);
  SpannableString spanString = new SpannableString(tempString);
  spanString.setSpan(new StyleSpan(Typeface.BOLD), 0, spanString.length(), 0);
  button.setText(spanString);
于 2011-09-02T10:32:17.153 に答える
4

Html.fromHtml()HTML要素を含む文字列リソースを使用して設定し、文字列として渡すことができます。お役に立てれば!

于 2011-09-02T10:24:29.080 に答える
3

スパンの使用:

SpannableStringBuilder builder = new SpannableStringBuilder("Type: your type here!");
StyleSpan boldStyle = new StyleSpan(Typeface.BOLD);
builder.setSpan(boldStyle, 0, 5, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
((Button) findViewById(R.id.button)).setText(builder);
于 2011-09-02T10:49:30.030 に答える
2

文字列で基本的なマークアップディレクトリを使用できます。

"<b>Type</b>: Location"

HTMLマークアップを使用したスタイリングを参照してください

于 2011-09-02T10:29:53.190 に答える
1

プログラムでテキストを設定する場合は、このメソッドを使用します

ボタン

まず、XML でボタンのプロパティを設定する必要があります

android:textAllCaps="false" // very important without this property might be it won't show effect

public SpannableString setSpanableString(String textString, int start, int end){

    SpannableString spanString = new SpannableString(textString);
    spanString.setSpan(new StyleSpan(Typeface.BOLD), start, end, 0);

    return spanString;
}


Button btn; // get your button reference here

String text = "Hi, Dharmbir";
btn.setText(setSpanableString(text, 4, text.length));// set here your index

テキストビュー

TextView tv; // get your TextView reference here

String text = "Hi, Dharmbir";
tv.setText(setSpanableString(text, 4, text.length));

出力

こんにちは、ダルムビル

于 2016-12-24T09:47:11.310 に答える