2015-09-29 78 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,因为屏幕无论如何都会有一个作为其根。我要回答,就好像经理需要分开,但这应该以任何方式工作。

您不需要覆盖VerticalFieldManagerpaintsublayout方法。你应该能够用标准方法得到你想要的。

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); 
    } 
} 

我想你可能会具有很大的问题是一个滚动的父母,导致你的经理或按钮被放置在中央和非常大的滚动区域。