2010-03-09 7 views
1

Je souhaite définir la position d'une image sur une image d'arrière-plan. La position pourrait être n'importe où sur l'écran.Image sur fond Image dans Blackberry

Puis-je avoir un exemple de code ou un lien ou tutoriel pour cela?

Répondre

2

Voilà comment je le fais:

Cela fonctionne dans 4.6.0 et plus tard à cause de BackgroundFactory

// Create the background image and the image field to put on top 
Background bg = BackgroundFactory.createBitmapBackground(Bitmap.getBitmapResource(bgImgPath); 
Bitmap bmp = Bitmap.getBitmapResource(imgPath); 
BitmapField imgField = new BitmapField(bmp); 
// Create the field manager 
VerticalFieldManager manager = new VerticalFieldManager() 
{ 
    // Overide the sublayout of the field manager to set the position of 
    // the image directly 
    protected void sublayout(int width, int height) 
    { 
    setPositionChild(imgField, positionX, positionY) 
    setExtent(width, height) 
    } 
}; 
// Set the background of the field manager 
manager.setBackground(bg); 
// add the bitmap field to the field manager 
manager.add(imgField); 
// add the field manager to the screen 
add(manager); 

Pour plusieurs images que vous pouvez faire une classe de gestionnaire de mise en page et d'utiliser cette position toutes vos images où vous voulez qu'ils utilisent des techniques similaires. Il y a un tutoriel pour créer et utiliser un gestionnaire de disposition, je vais essayer de le déterrer et de le poster ici.

si vous utilisez 4.5.0 ou plus tôt, j'utiliser un gestionnaire de mise en page et juste ajouter l'image d'arrière-plan comme tout autre image, mais l'ajouter d'abord il tire sur le fond.

Comme je l'ai dit, je vais essayer de trouver ce tutoriel pour le gestionnaire de mise en page.

+0

Merci beaucoup pour l'exemple de code. m attendant le tutoriel que je développe l'application sur la version 4.5.0 – Master

+1

Voici un: http://docs.blackberry.com/en/developers/deliverables/1180/development.pdf#24 Il est à la page 24 le pdf. Ce manuel est à partir de 4.5.0, donc tout devrait fonctionner pour vous. –

1

Vous pouvez créer une classe qui étend la classe Manager Ici vous pouvez spécifier l'image d'arrière-plan ainsi que vous pouvez positionner l'autre image à une position que vous voulez

class Test extends MainScreen 
{ 
    Test() 
    { 
     super(); 
     Bitmap bmp = Bitmap.getBitmapResource("image1.png"); 
     BitmapField bmpf = new BitmapField(bmp); 
     Mymanager obj = new Mymanager(); 
     obj.add(bmpf); 
    } 
} 

class Mymanager extends Manager 
{ 
final Bitmap background = Bitmap.getBitmapResource("back.png"); 
    protected void paint(Graphics g) 
    { 
    g.drawrect(0,0,background.getWidth,background.getheight,background,0,0); 
    } 
    protected void sublayout(int width, int height) 
    { 
    Field field = getfield(0); 
    layoutchild(field,100,100); 
    setPositionchild(field,20,10); 

    setExtent(Display.getWidth,Display.getHeight); 
    } 
}