【问题标题】:How to set a font to LabelField text in Blackberry?如何在 Blackberry 中为 LabelField 文本设置字体?
【发布时间】:2009-07-09 11:53:08
【问题描述】:

我不知道如何将字体样式应用于LabelField 中的文本Blackberry

【问题讨论】:

    标签: blackberry


    【解决方案1】:

    您可以只使用 LabelField.setFont。如果您没有在标签字段上明确执行此操作,则该字段将使用其管理器使用的任何字体(依此类推,向上向上层级)。

    有几种方法可以获取字体。一种是从现有字体派生一种(在这种情况下,我得到的是默认字体的粗体版本):

    LabelField labelField = new LabelField("Hello World");
    Font myFont = Font.getDefault().derive(Font.BOLD, 9, Ui.UNITS_pt);
    labelField.setFont(myFont);
    

    另一种是获取特定的字体系列并从中派生字体(此处获取 12 pt 斜体字体):

    LabelField labelField = new LabelField("Hello World");
    FontFamily fontFamily = FontFamily.forName("BBCasual");
    Font myFont = fontFamily.derive(Font.ITALIC, 12, Ui.UNITS_pt);
    labelField.setFont(myFont);
    

    有几点需要注意:我使用了 UNITS_pt(点)而不是 UNITS_px(像素)。这通常是一个好主意,因为 BlackBerry 设备的屏幕尺寸和分辨率 (DPI) 变化很大,并且使用点可以让您在不同设备上获得更一致的外观,而不是让您的文本在 Bold 或 8900 上看起来很小(或在曲线或珍珠)。

    同样在第二个示例中,forName 可以抛出一个您必须捕获的 ClassCastException(它是一个检查异常),但根据 Javadocs,它实际上从未抛出,如果您指定一个未知名称,它将回退到另一种字体家庭。

    【讨论】:

      【解决方案2】:

      这里有一个 ResponseLabelField 扩展 LabelField 并显示如何设置字体的帖子: http://supportforums.blackberry.com/rim/board/message?board.id=java_dev&thread.id=37988

      这是一个快速的代码 sn-p:

          LabelField displayLabel = new LabelField("Test", LabelField.FOCUSABLE)
          {
              protected void paintBackground(net.rim.device.api.ui.Graphics g)
              {
                  g.clear();
                  g.getColor();
                  g.setColor(Color.CYAN);
                  g.fillRect(0, 0, Display.getWidth(), Display.getHeight());
                  g.setColor(Color.BLUE);               
              }
          };  
      
          FontFamily fontFamily[] = FontFamily.getFontFamilies();
          Font font = fontFamily[1].getFont(FontFamily.CBTF_FONT, 8);
          displayLabel.setFont(font);
      

      如果我错了,请有人纠正我,但我相信通过在 fontFamily 数组中使用不同的索引来选择不同的字体。

      编辑:这是一个可用于在字体之间切换的测试应用:http://blackberry-digger.blogspot.com/2009/04/how-to-change-fonts-in-blackberry.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-02
        • 1970-01-01
        相关资源
        最近更新 更多