Как изменить размер шрифта текста в ListField?

#blackberry

#ежевика

Вопрос:

В drawListRow() методе я рисую тексты, используя graphics.drawText() . Как я могу изменить размер шрифта текста?

Ответ №1:

В вашем коде обратного вызова LISTFIELDCALL переопределите drawListRow() и установите шрифт там:

 public void drawListRow(ListField list, Graphics g, int index, int y, int w) {
    Font myFont= FontFamily.forName(FontFamily.FAMILY_SYSTEM).getFont(fontStyle,
        fontSize);
    g.setFont(myFont);
    g.drawText(str, 0, y, DrawStyle.TOP|DrawStyle.LEFT, w);
}
  

Ответ №2:

Вы пробовали сначала настроить Graphics#setFont шрифт нового размера?

Возможно, используя Font#derive(style, size) :

http://www.blackberry.com/developers/docs/4.3.0api/net/rim/device/api/ui/Font.html#derive(int, int )

Просто быстро просмотрел javadocs, на самом деле этого не делал. что-то вроде:

шрифт myFont8 = …;

Шрифт myFont16 = myFont8.derive((myFont8.getStyle(), 16);

g.setFont(myFont16);

g.DrawText(…);