Центр ButtonField в FieldManager - PullRequest
       2

Центр ButtonField в FieldManager

2 голосов
/ 28 декабря 2011


Я хочу центрировать buttonField в HorizontalFieldManager
Я попробовал этот код:

   HorizontalFieldManager ButM = new HorizontalFieldManager(Field.FIELD_HCENTER|USE_ALL_WIDTH)
    {
        public void paint(Graphics graphics)
        {
            graphics.setBackgroundColor(0x00000000);
            graphics.clear();
            super.paint(graphics);
        }  
    };
    ButtonField Order = new ButtonField("Tri",Field.FIELD_HCENTER|ButtonField.CONSUME_CLICK);

Но ButtonField не центрирован, я делаю что-то не так?

РЕДАКТИРОВАТЬ:
Я решил эту проблему с помощью этого кода:

HorizontalFieldManager ButM = new HorizontalFieldManager(HorizontalFieldManager.FIELD_HCENTER|USE_ALL_WIDTH)
    {
      public void paint(Graphics graphics)
      {
          graphics.setBackgroundColor(0x00000000);
          graphics.clear();
          super.paint(graphics);
      }  
    };
    ButtonField Order = new ButtonField("Tri",DrawStyle.HCENTER|ButtonField.CONSUME_CLICK);
    Order.setMargin(0,0,0,(Display.getWidth()/2)-30);

Ответы [ 3 ]

1 голос
/ 29 декабря 2011
HorizontalFieldManager ButM = new HorizontalFieldManager(HorizontalFieldManager.FIELD_HCENTER)
{
  public void paint(Graphics graphics)
  {
      graphics.setBackgroundColor(0x00000000);
      graphics.clear();
      super.paint(graphics);
  }  
};
ButtonField Order = new ButtonField("Tri",DrawStyle.HCENTER|ButtonField.CONSUME_CLICK);
Order.setMargin(0,0,0,(Display.getWidth() - Order.getPreferredWidth())/2 );
ButM.add(Order);

Этот код будет работать нормально .. Я проверил это ...

1 голос
/ 28 декабря 2011

Попробуйте этот бит кода

HorizontalFieldManager ButM = new HorizontalFieldManager(HorizontalFieldManager.FIELD_HCENTER)
 {
  public void paint(Graphics graphics)
    {
      graphics.setBackgroundColor(0x00000000);
     graphics.clear();
     super.paint(graphics);
  }  
  };
  ButtonField Order = new ButtonField("Tri",DrawStyle.HCENTER|ButtonField.CONSUME_CLICK);
  ButM.add(Order);
0 голосов
/ 29 декабря 2011
HorizontalFieldManager ButM = new HorizontalFieldManager(USE_ALL_WIDTH)
{
    public void paint(Graphics graphics)
    {
        graphics.setBackgroundColor(0x00000000);
        graphics.clear();
        super.paint(graphics);
    }  
    public void sublayout(int width,int height)
    {
      layoutChild(button,preferredWidth,preferredHeight);
      setPositionChild(button, (Graphics.getScreenWidth()-button.getWidth())/2, 0);
      setExtent(Graphics.getScreenWidth(),this.getHeight());
    }
};

попробуйте это .. надеюсь, это поможет вам

...