2015-09-29 7 views
0

Я хочу создать кнопки, центрированные по горизонтали на фоне, созданном из растрового изображения. Сейчас у меня есть вертикальный менеджер поля с фоном:Центрированные кнопки на растровом фоне

vertical=new VerticalFieldManager() 
    { 
     protected void paint(Graphics g) 
     { 
      g.drawBitmap(0, 0, Display.getWidth(), Display.getWidth(), scaleBit, 0, 0); 
      super.paint(g); 
     } 
     protected void sublayout(int maxWidth, int maxHeight) 
     { 
      super.sublayout(Display.getWidth(), Display.getWidth()); 
      setExtent(Display.getWidth(), Display.getWidth()); 
     } 
    };  

, но когда я добавляю paramethers как FIELD_HCENTER | Field.USE_ALL_WIDTH для вертикального поля менеджера конструктора ничего не происходит, когда я добавить кнопки, так как это должно быть сделано?

ответ

0

Если у вас есть MainScreen, вам не нужно добавлять VerticalFieldManager, так как в любом случае экран будет иметь его корень. Я собираюсь ответить, как будто менеджер должен быть отдельным, как есть, но это должно работать в любом случае.

Вам не нужно переопределять методы paint и sublayout вашего VerticalFieldManager. Вы должны иметь возможность получить то, что хотите, стандартными методами.

public class MyScreen extends MainScreen 
{ 
    public MyScreen() 
    { 
     super(NO_HORIZONTAL_SCROLL); 
     VerticalFieldManager manager = new VerticalFieldManager(USE_ALL_WIDTH | NO_VERTICAL_SCROLL | NO_HORIZONTAL_SCROLL); 
     manager.setBackground(BackgroundFactory.createBitmapBackground(null)); // Your bitmap here instead of null 

     add(manager); 

     ButtonField button = new ButtonField("Button", FIELD_HCENTER); 
     manager.add(button); 
    } 
} 

Я думаю, что большая проблема, которую Вы могли бы быть с является прокручивать родителем, который вызывает ваш менеджер, или кнопку, чтобы быть размещены в центре и очень большой области прокрутки.