2010-08-18 6 views
0

Mon objectif est d'avoir un écran de démarrage avec un gif animé 80 pixels au-dessous du centre de l'écran. Le chargement de l'image de fond de l'écran et du gif animé est facile, tout comme le positionnement du gif animé 80px sous le centre. Mon problème est que l'arrière-plan de VerticalFieldManager (qui contient le champ gif animé) est rempli avec tout le blanc (par défaut). Je peux définir la couleur de fond du gestionnaire, mais l'image de fond de l'écran n'est pas juste une couleur unie.Fond transparent de VerticalFieldManager

public final class SplashScreen extends MainScreen { 
    public SplashScreen() { 
    // create and load the background image BitmapField 
    this.add(backgroundImage); 

    // create and load the progress bar 
    BitmapField progressBar = new BitmapField(progressBarImage, Field.FIELD_HCENTER | Field.USE_ALL_WIDTH | Field.NON_FOCUSABLE); 

    VerticalFieldManager manager = new VerticalFieldManager(Field.USE_ALL_WIDTH | Field.FIELD_HCENTER) { 
     protected void sublayout(int maxWidth, int maxHeight) { 
     // positioning code... 
     } 
    }; 

    manager.add(progressBar); 
    this.setStatus(manager); 
    } 
} 

J'ai essayé plusieurs subpaint() a priorité pour définir les graphiques, mais ne peut pas sembler mettre autre chose qu'une couleur unie. L'appel à setGlobalAlpha() n'a pas non plus les résultats souhaités (comme indiqué dans d'autres publications).

Des pensées?

Répondre

1

Vous pouvez essayer d'utiliser la méthode paintBackground pour peindre toutes vos images et couleurs de fond.

protected void paintBackground(Graphics g) { 
    g.setGlobalAlpha(255); 
    g.setColor(backgroundColor); 
    ... more background drawing ... 
} 
0

Pour modifier l'arrière-plan sur les écrans, utilisez

this.getMainManager().setBackground(...); 

Vous devriez être en mesure de définir et de l'image, une couleur, tout ce que vous avez besoin pour l'arrière-plan à l'écran.

Questions connexes