我有一个嵌套在TableLayoutManager行内的LabelField。我希望该行是特定的高度(与其位图背景相同的高度)。为了实现这一点,我更改了嵌套LabelField的layout()方法:

LabelField lblHours = new LabelField(hours,
            Color.BLACK, Manager.FIELD_VCENTER) {
        protected void layout(int width, int height) {
            super.layout(width, 40 //height of the bitmap);
            setExtent(width, 40 //height of the bitmap);
        }
    };


这成功增加了TableLayoutManager的行大小。但是,一旦执行此操作,LabelField将不再在行内垂直居中。有什么建议吗?

谢谢!

最佳答案

上面的答案有效,只是确保您为上述内容输入了两个语句,如以下示例所示。

LabelField importanceLabel = new LabelField("Importance: ",LabelField.FIELD_VCENTER | LabelField.FIELD_RIGHT) {
          public void paint(Graphics g) {
              g.setColor(0x145085);
              super.paint(g);
          }
          protected void layout(int width, int height) {
              super.layout(Math.min(width, this.getFont().getAdvance(this.getText())), 26); //height of the bitmap);
              setExtent(Math.min(width, this.getFont().getAdvance(this.getText())), 26); //height of the bitmap);
          }
      };


这将是相同的答复..谢谢你们..的讨论。它帮助了我。

关于java - BlackBerry将LabelField垂直居中放置自定义高度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6127907/

10-09 07:07