Сделайте текст жирным внутри StaticLayout в Android

Есть ли способ сделать текст жирным шрифтом статического макета? Я пытаюсь напечатать один правительственный документ, чтобы я использовал StaticLayout, используя следующий код для установки текста на Canvas,

TextPaint mTextPaint=new TextPaint();
mTextPaint.setTypeface(Typeface.createFromAsset(context.getAssets(),"fonts/times.ttf"));

    StaticLayout mTextLayout;
    canvas.save();

mTextLayout = new StaticLayout(getText(), mTextPaint, pageInfo.getPageWidth()/2-otherPadding*3, Layout.Alignment.ALIGN_NORMAL, 1.0f, 1.0f, true);
translate(textX, textY);
draw(canvas);
....

куда getText() Метод возвращает строку, которую я хочу напечатать, как указано ниже.

String getText()
{
     return "Name and complete address of Genetic Clinic/Ultrasound Clinic/Imaging centre : "+hospital.getName();
}

Здесь я хочу сделать название больницы только жирным.

2 ответа

Это должно помочь:

<string name="hospital message">Name and complete address of Genetic Clinic/Ultrasound Clinic/Imaging centre : <b> %1$s </b></string>

а потом:

Resources res = getResources();
String text = String.format(res.getString(R.string.hospital_message), hospital.getName());

Вы можете сделать текст жирным шрифтом одним из следующих способов:

Когда вы звоните setTypeface() Вы также можете передать второй параметр:mTextPaint.setTypeface(Typeface.createFromAsset(context.getAssets(),"fonts/times.ttf"), Typeface.BOLD);

ИЛИ в вашем xml

android:textStyle="bold"
Другие вопросы по тегам