J'ai un bitmap en arrière-plan dans mon écran d'application Blackberry. L'écran a le défilement activé car je dois avoir un défilement. Le problème auquel je suis confronté est, lorsque je fais défiler la page, bitmap d'arrière-plan ne correspond pas à la page défilée, plutôt qu'il montre simplement fond blanc. Avons-nous besoin de dessiner le bitmap d'arrière-plan pour chaque page de défilement?BlackBerry - Bitmap en arrière-plan ne convient pas pour la page de défilement
Ma taille bitmap est: 360 * 480
code mis à jour est le suivant:
class BGVerticalFieldManager extends VerticalFieldManager {
Bitmap mBgBitmap = null;
int mBgWidth = -1;
int mBgHeight = -1;
int mBgX = -1;
int mBgY = -1;
public BGVerticalFieldManager(Bitmap background) {
super(USE_ALL_WIDTH | USE_ALL_HEIGHT | VERTICAL_SCROLL
| VERTICAL_SCROLLBAR);
mBgBitmap = background;
mBgWidth = mBgBitmap.getWidth();
mBgHeight = mBgBitmap.getHeight();
mBgX = (Display.getWidth() - mBgWidth) >> 1;
mBgY = (Display.getHeight() - mBgHeight) >> 1;
}
protected void paintBackground(Graphics graphics) {
paintBackgroundBitmap(graphics);
invalidate();
}
/*private void paintBackgroundBitmap(Graphics graphics) {
if (null != mBgBitmap) {
int x = mBgX + ((MainScreen)getScreen())
.getMainManager().getHorizontalScroll();
int y = mBgY + ((MainScreen)getScreen())
.getMainManager().getVerticalScroll();
graphics.drawBitmap(x, y, mBgWidth,
mBgHeight, mBgBitmap, 0, 0);
}
} */
private void paintBackgroundBitmap(Graphics graphics) {
if (null != mBgBitmap) {
int x = mBgX
+ getHorizontalScroll();
int y = mBgY
+ getVerticalScroll();
graphics.drawBitmap(x, y, mBgWidth, mBgHeight, mBgBitmap, 0, 0);
}
}
}
APPELER LE CODE CI-DESSUS BITMAP CONTEXTE DE L'AUTRE FICHIER CI-DESSOUS:
public MyFirstScreen (String label, int screenState, int selectedObj, boolean bUI)
{
super(VERTICAL_SCROLL | VERTICAL_SCROLLBAR); // I must need it ...
appTitle = label;
setTitle(appTitle);
background = Bitmap.getBitmapResource ("HomeBack.png");
add(_container = new BGVerticalFieldManager(background));
..............................
..............................
..............................
}
Salut! voir le code mis à jour! –
Salut Max, code mis à jour est très bien.Mais ça ne fonctionne que pour la première page, je voulais dire que je dois avoir une barre de défilement pour l'écran où je garde aussi le bitmap d'arrière-plan avec votre code.Dans ce cas, le code modifié , montre bitmap pour seulement la première page et pas dans la deuxième page après défilement vers le bas.Et aussi comme j'observe le samething comme précédemment, il crée toujours les deux pages par défaut initialement à partir de laquelle la deuxième page n'est pas nécessaire cependant. Je mets à jour mon code maintenant pour vous montrer comment c'est. – Getsy