【问题标题】:Unable to change font of Vector element in blackberry无法更改黑莓中矢量元素的字体
【发布时间】:2012-07-02 16:08:40
【问题描述】:

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

我附上 9800 和 9810 的屏幕截图...在 9800 中看起来不错,在 9810 中看起来很大

【问题讨论】:

    标签: java blackberry vector fonts


    【解决方案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);
    

    【讨论】:

      【解决方案2】:

      当时我也遇到了同样的情况,我为每个分辨率定制了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);
      }
      

      不同分辨率的粗体字号。

      【讨论】:

        【解决方案3】:

        通过更改 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);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多