Сделайте текст жирным внутри 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"