アプリケーションにボタンがあります。ボタンのテキストは「Type: Location
」のようになります。
ボタンのテキストを「タイプ:場所」に変更できるかどうか疑問に思います。
つまり、ボタンのテキストを部分的に太字にしますか?
よろしくお願いします。
次のようなより良い選択肢があります: android:textStyle="bold"
android api support bold
文字列を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);
Html.fromHtml()
HTML要素を含む文字列リソースを使用して設定し、文字列として渡すことができます。お役に立てれば!
スパンの使用:
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);
プログラムでテキストを設定する場合は、このメソッドを使用します
ボタン
まず、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));
出力
こんにちは、ダルムビル