2

我正在使用 Vector 在黑莓项目的表中添加元素。字体似乎没有以编程方式更改。我已经在不同屏幕的黑莓手机上对其进行了测试。在 BOLD & CURVE 中看起来不错,但在 9810 手电筒、9790 BOLD 等大屏幕手机中,它需要一些非常大的默认字体。即使我通过设置更改了手机的字体,它也会更改 LabelFields 和 TextFields 的字体,但应用 FontFamily 字体不会反映在 Vector 元素上。

我附上 9800 和 9810 的屏幕截图...在 9800 中看起来不错,在 9810 中看起来很大 在此处输入图像描述 在此处输入图像描述

4

3 回答 3

1

试试这个

for (int x = 0; x < vector.size(); x++) {
      FriendListObject b = (FriendListObject) vector.elementAt(x);
      name_ = b.getf_name().toString();
    }
TableRowManager row = new TableRowManager() {
            public void paint(Graphics g) {
                 g.setBackgroundColor(0xa2b8c3);
                g.fillRect(0, 0, getWidth(), getHeight());
                 g.setColor(0xe5e7e7);
                 g.clear();
                 super.paint(g);
            }
        };




LabelField name= new LabelField(name_+" :", DrawStyle.ELLIPSIS);
name.setFont(Font.getDefault().derive(Font.PLAIN));

 row.add(name);
于 2012-06-22T09:07:43.963 回答
0

我也面临同样的情况,我为每个分辨率定制了字体系列。例如

if (Display.getWidth()==480 && Display.getHeight()==360) {
   _custHeadNews = new CustTextField(_newsHead,30,0x05235b,TextField.FOCUSABLE);
   _custMainNews = new CustTextField(_newsMain,25,0x666666, RichTextField.FOCUSABLE);
   _custMetadata = new CustTextField(_metaData,15,0x666666,TextField.FOCUSABLE);
}
else if (Display.getWidth()==320 && Display.getHeight()==240) {
   _custHeadNews = new CustTextField(_newsHead,25,0x05235b,TextField.FOCUSABLE);
   _custMainNews = new CustTextField(_newsMain,15,0x666666, RichTextField.FOCUSABLE);
   _custMetadata = new CustTextField(_metaData,10,0x666666,TextField.FOCUSABLE);
}

不同分辨率的粗体字号。

于 2012-06-22T09:23:55.257 回答
0

通过更改 RegionStyles 解决了这个问题。最初我们将 Font 参数设为 null。将其更改为 appFont1 而不是 null 后,应用字体停止覆盖并且现在可以正常工作。

    RegionStyles style = new RegionStyles(BorderFactory.createSimpleBorder(new XYEdges(5,0,0,0), Border.STYLE_TRANSPARENT), appFont1, null,null, RegionStyles.ALIGN_LEFT, RegionStyles.ALIGN_MIDDLE);
于 2012-07-02T08:08:40.087 回答