Android: Жирный Текст Кнопки
У меня есть кнопка в моем приложении. текст в кнопке выглядит примерно так:" Type: Location
".
Мне интересно, можно ли изменить текст на кнопке как "Тип: местоположение "
То есть полужирный текст частично на кнопке??
Заранее спасибо за время йору.
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);
Если хотите задать текст программно, то используйте этот метод
Кнопка
Сначала нужно задать свойство 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));
Вывод
Привет, Дхармбир