Название на mapfieldScreen в blackeberry не отображается - PullRequest
0 голосов
/ 11 января 2012

enter image description here

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

Вот мой код.

class MapFieldScreen extends MainScreen
{ 
MapFieldScreen()
{   
    title= new LabelField("My Trip",LabelField.FIELD_HCENTER|LabelField.USE_ALL_WIDTH)
    {
       protected void layout(int width,int height)
       {
            setExtent(UIConstants.SCREEN_WIDTH, getFont().getHeight()*2);
       }
       public void paint(Graphics g)
        { 
            g.setColor(Color.WHITE);             
            g.drawText(label,UIConstants.SCREEN_WIDTH*2/5,getFont().getHeight()/2);  
            super.paint(g); 
        }
    };
    setTitle(title);    
    mLoc= Bitmap.getBitmapResource(UIConstants.STOP);
    mmMapField = new MapField();

    add(mMapField);

}
}

1 Ответ

0 голосов
/ 11 января 2012

Вы можете проверить следующий код:

LabelField title = new LabelField("My Trip") {
    int _width = Display.getWidth();
    int _height = getFont().getHeight() * 2;

    protected void layout(int width, int height) {
        setExtent(_width, _height);
    }

    public void paint(Graphics graphics) {
        graphics.setColor(Color.WHITE);
        int xText = (_width - getFont().getAdvance(getText())) / 2;
        int yText = (_height - getFont().getHeight()) / 2;
        graphics.drawText(getText(), xText, yText);
    }
};

setTitle(title);
...