有没有办法让一些文字粗体显示静态布局?我正在尝试打印一份政府文档,以便我使用以下代码在Canvas
上设置文本,使用StaticLayout。
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();
}
所以我在这里只想让医院名称变粗。
答案 0 :(得分:0)
您可以通过以下两种方式使文字变为粗体:
当你致电setTypeface()
时,你也可以传递第二个参数:
mTextPaint.setTypeface(Typeface.createFromAsset(context.getAssets(),"fonts/times.ttf"), Typeface.BOLD);
你的xml中的OR
android:textStyle="bold"
答案 1 :(得分:0)
这应该有所帮助:
<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());