【问题标题】:Align field in HorizontalFieldManager在 Horizo​​ntalFieldManager 中对齐字段
【发布时间】:2012-03-29 18:10:37
【问题描述】:

我创建了一个自定义HorizontalFieldManager,我可以在其中使用setPositionChild()layoutChild() 定位字段。如果我添加LabelField 就可以了。问题是当我将标签添加到VerticalFieldManager 并将该 VFM 添加到我的自定义 HFM 时。问题是它没有采用 VFM 的首选高度。知道为什么吗?

 setPositionChild(
      getField(0), 
      0, 
      0);
 layoutChild(
      getField(0), 
      getField(0).getPreferredWidth(), 
      getField(0).getPreferredHeight()); //.....
      setExtent(width, height);

【问题讨论】:

    标签: user-interface blackberry


    【解决方案1】:

    这对你有帮助

     Manager customManager = new Manager(0)
     {
     protected void sublayout(int width, int height) {
         setPositionChild(
             getField(0), 
             0, 
             0);
         layoutChild(
             getField(0), 
             getField(0).getPreferredWidth(), 
             getField(0).getPreferredHeight());
    
         setPositionChild(
             getField(1), 
             Graphics.getScreenWidth()/2 - getField(1).getPreferredWidth()/2, 
             0);
         layoutChild(
             getField(1), 
             getField(1).getPreferredWidth(), 
             getField(1).getPreferredHeight());    
    
         setPositionChild(
             getField(2), 
             Graphics.getScreenWidth() - getField(2).getPreferredWidth(), 
             0);
         layoutChild(
             getField(2), 
             getField(2).getPreferredWidth(), 
             getField(2).getPreferredHeight());    
    
         setExtent(width, height);
     }      
    

    }; customManager.add(new LabelField("Hello Alignment"));

    【讨论】:

      【解决方案2】:

      如果您要添加多个字段,则为所有字段指定布局。

      如果只使用一个字段则不需要给布局,让它添加到管理器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-10
        • 1970-01-01
        • 2011-09-10
        • 2012-09-08
        • 1970-01-01
        • 2011-09-11
        • 2012-10-07
        • 2011-12-04
        相关资源
        最近更新 更多