2010-07-30 5 views
0

Besoin d'aide en ce qui concerne la méthode de peinture dans MainScreen. En utilisant le code ci-dessus, j'essayais de rendre quelques listes. Ça fonctionne bien. Mais il cache toutes mes icônes de barre d'état que j'ai ajoutées en utilisant la méthode setStatus(). Lorsque je supprime la méthode de peinture, mes boutons dans la barre d'état s'affiche. J'ai aussi essayé d'utiliser setRe g.pushRegion(), mais pas de chance.Les boutons d'état sont masqués par la méthode de peinture par substitution de contenu dans BlackBerry

est un exemple de code ici:

private void addStatusBar(){ 
    manager = new HorizontalFieldManager(); 
    manager.add(new BitmapField(ImageUtility.loadBitMap("ask.jpg"))); 
    manager.add(new BitmapField(ImageUtility.loadBitMap("experts.jpg"))); 
    manager.add(new BitmapField(ImageUtility.loadBitMap("search.jpg"))); 
    manager.add(new BitmapField(ImageUtility.loadBitMap("my_profile.jpg"))); 
    manager.add(new BitmapField(ImageUtility.loadBitMap("groups.jpg"))); 
    manager.add(new BitmapField(ImageUtility.loadBitMap("analitics.jpg"))); 

    setStatus(manager); 

} 

protected void paint(Graphics graphics) { 
    //graphics.pushRegion(new XYRect(0, 0, getPreferredWidth(), getPreferredHeight())); 
    Bitmap image = ImageUtility.loadBitMap("header2.jpg"); 
    graphics.drawBitmap(0, 0, 500, image.getHeight(), image, 0, 0); 

    for(int i =0; i < 5; i++){ 
     fieldList.drawListRow(fieldList, graphics, i, 50 + (i*50), 20);   
    } 
} 

Répondre

0

Avez-vous essayé de placer le « y » pour compenser la graphics.drawBitmap() appellent à la hauteur de la barre d'état?

0

vous devez appeler super.paint Sinon, le statut n'est jamais peint.

0
protected void paint(Graphics graphics) { 
Bitmap image = ImageUtility.loadBitMap("header2.jpg"); 
graphics.drawBitmap(0, 0, 500, image.getHeight(), image, 0, 0); 
for(int i =0; i < 5; i++){ 
    fieldList.drawListRow(fieldList, graphics, i, 50 + (i*50), 20);   
}  
super.paint(graphics); } 
Questions connexes