我将文本放在LabelField中作为多行。这是我打电话的方法:
public void setFirstName(String fvalue,String lvalue,String date,String lastStatus)
{
_fnameLabel.setText(fvalue+" "+lvalue+"\n"+date+"\n"+lastStatus);
_fnameLabel.setFont((_fnameLabel.getFont().derive(Font.BOLD, 20, Ui.UNITS_px,
Font.ANTIALIAS_STANDARD, Font.COLORED_OUTLINE_EFFECT)));
_fnameLabel.setMargin(10, 0, 20, 0); //To leave some space from top and bottom
}
我想要每行不同的字体(大小,样式等)。是否可以在一个labelfield中使用多格式。请帮忙。
答案 0 :(得分:2)
您不能使用LabelField
,只能使用RichTextField
。您必须构建偏移量,字体和字体索引的数组以用于该字段。这有点乏味,但并不是特别难。您要使用的方法是
setText(String text, int[] offsets, byte[] attributes, Font[] fonts)
其中:
offsets
是格式更改的排序数组,包括文本的开头(0)和结束(text.length()
); attributes
是fonts
数组的索引数组,每个文本区域一个(offsets.length == attributes.length + 1
); fonts
是您要使用的不同字体的数组。 attributes
数组可以多次包含相同的值,因此fonts.length
可以是任何内容,只要attributes
的每个元素都是非{的有效索引null
的{{1}}元素。