Ce que je veux réaliser est d'avoir un écran contextuel personnalisé avec la largeur et la hauteur spécifiées. Sur cet écran, j'ajoute deux boutons qui restent dans une rangée et alignent le centre horizontalement.Impossible d'aligner les champs horizontalement sur l'écran contextuel personnalisé dans Blackberry
public class CustomPopupScreen extends PopupScreen {
ButtonField minimizeBf;
ButtonField cancelBf;
HorizontalFieldManager hfm;
public CustomPopupScreen() {
super(new VerticalFieldManager());
minimizeBf = new ButtonField("Minimize", FIELD_HCENTER|Field.USE_ALL_WIDTH);
cancelBf = new ButtonField("Cancel", FIELD_HCENTER|Field.USE_ALL_WIDTH);
hfm = new HorizontalFieldManager(FIELD_HCENTER|Field.USE_ALL_WIDTH);
hfm.add(minimizeBf);
hfm.add(cancelBf);
add(hfm);
//add(minimizeBf);
//add(cancelBf);
}
protected void sublayout(int width, int height) {
// TODO Auto-generated method stub
int xPos = 0;
int yPos = 0;
int sideMargin = 30;
int screenWidth = width - (2 * sideMargin);
int screenHeight = 100;
layoutDelegate(screenWidth, screenHeight);
//setPositionDelegate(0, 0);
super.sublayout(screenWidth, screenHeight);
setExtent(screenWidth, screenHeight);
xPos = (width - screenWidth)/2;
yPos = (height - screenHeight)/2;
setPosition(xPos, yPos);
// layout(screenWidth, screenHeight);
}
}
Si j'ajouter ces boutons à l'écran, il alignera le centre horizontalement, mais les boutons apparaissent sur autre ligne, alors que je veux qu'il apparaisse dans la même rangée. Est-ce que quelqu'un peut me dire où j'ai mal codé?
Malheureusement, ce n'est pas le cas. Je pense que je devrais mettre quelque chose dans la méthode sublayout afin que les gestionnaires de cet écran s'alignent en conséquence, mais je ne sais pas quoi: ((. Merci pour votre aide –