黑莓 - 在屏幕上设置字段位置?

时间:2009-11-19 07:51:31

标签: user-interface blackberry layout

我想把我的场地定位在指定的位置。

1 个答案:

答案 0 :(得分:10)

基本上要在经理中设置任何字段位置,你应该:

  1. 覆盖sublayout
  2. 删除了死亡的ImageShack链接

    经理代码:

    class CustomVerticalManager extends VerticalFieldManager {
     LabelField mText1 = new LabelField("top");
     LabelField mText2 = new LabelField("bottom");
    
     public CustomVerticalManager() {
      add(mText1);
      add(mText2);
     }
    
     public int getPreferredHeight() {
      return Display.getHeight();
     }
    
     public int getPreferredWidth() {
      return Display.getWidth();
     }
    
     protected void sublayout(int width, int height) {
      width = getPreferredWidth();
      height = getPreferredHeight();
    
      int fieldWidth = mText1.getPreferredWidth();
      int fieldHeight = mText1.getPreferredHeight();
      layoutChild(mText1, fieldWidth, fieldHeight);
      int xPos = (width - fieldWidth) >> 1;
      int yPos = 0;
      setPositionChild(mText1, xPos, yPos);
    
      fieldWidth = mText2.getPreferredWidth();
      fieldHeight = mText2.getPreferredHeight();
      layoutChild(mText2, fieldWidth, fieldHeight);
      xPos = (width - fieldWidth) >> 1;
      yPos = height - fieldHeight;
      setPositionChild(mText2, xPos, yPos);
      setExtent(width, height);
     }
    }
    

    使用样本:

    class Scr extends MainScreen {
     CustomVerticalManager mManager = new CustomVerticalManager();
    
     public Scr() {
      add(mManager);
     }
    }
    

    另见
    Wireless - How to : Create a custom layout manager for a screen
    Blackberry - fields layout animation