无法更改黑莓中的Vector元素的字体

时间:2012-06-22 08:59:54

标签: java blackberry vector fonts

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

我附上9800&屏幕截图9810 ...在9800看起来很好,在9810,它看起来很大 enter image description here enter image description here

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

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

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);
}

不同分辨率的粗体字体大小。

答案 2 :(得分:0)

通过在RegionStyles中进行更改解决了此问题。最初我们将Font参数设为null。在将其更改为appFont1而不是null之后,app字体停止覆盖并且现在正常工作。

    RegionStyles style = new RegionStyles(BorderFactory.createSimpleBorder(new XYEdges(5,0,0,0), Border.STYLE_TRANSPARENT), appFont1, null,null, RegionStyles.ALIGN_LEFT, RegionStyles.ALIGN_MIDDLE);