Android: Жирный Текст Кнопки
У меня есть кнопка в моем приложении. текст в кнопке идет как"Type: Location
" что-то в этом роде.
Мне интересно, можно ли изменить текст на кнопке как"тип: место"
i.E полужирный текст частично на кнопке??
Спасибо за yoru время заранее.
6 ответов
просто поместите строку в строки.xml и изменить его так,
<string name="hello"><b>Hello</b> World, fh!</string>
и установите этот текст на кнопку, как это
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
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);
вы можете использовать базовый каталог разметки в строках, например
"<b>Type</b>: Location"
посмотреть стиль с разметкой HTML
Если вы хотите установить текст программно, используйте этот метод
сначала вы должны установить свойство button в 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
TextView tv; // get your TextView reference here
String text = "Hi, Dharmbir";
tv.setText(setSpanableString(text, 4, text.length));
выход
Привет, Dharmbir