2009-12-16 11 views
1

J'utilise la boîte de dialogue globale suivante pour afficher un message après que l'utilisateur a quitté l'application et que mon application a été notifiée pour vérifier certaines tâches.BlackBerry - Modifications globales de l'écran?

synchronized(UiApplication.getEventLock()) { 
    UiEngine ui = Ui.getUiEngine(); 
    Screen screen = new Dialog(Dialog.D_OK, "My Message", 
     Dialog.OK, Bitmap.getPredefinedBitmap(Bitmap.EXCLAMATION), 
     Manager.VERTICAL_SCROLL); 
    ui.pushGlobalScreen(screen, 1, UiEngine.GLOBAL_QUEUE); 
} 

Je veux ajouter un titre de cette boîte de dialogue comme mon titre App, et certains messages (déjà que je donne ...) et retirer le Exclamation ou tout autre icône par défaut a donné à cette boîte de dialogue. Je ne veux pas n'importe quel icône dans ce dialogue.

Quelqu'un pourrait me suggérer si vous l'avez utilisé?

Merci. Appréciez si vous pouviez m'aider à ce sujet.

Répondre

4

Il n'y a pas de titre dans Dialog classe, je suggère d'utiliser PopupScreen extention:
alt text http://img187.imageshack.us/img187/6245/9000.jpg

class GlobalDialog extends PopupScreen implements FieldChangeListener { 
    ButtonField mOKButton = new ButtonField("OK", ButtonField.CONSUME_CLICK 
      | FIELD_HCENTER); 

    public GlobalDialog(String title, String text) { 
     super(new VerticalFieldManager()); 
     add(new LabelField(title)); 
     add(new SeparatorField(SeparatorField.LINE_HORIZONTAL)); 
     add(new LabelField(text, DrawStyle.HCENTER)); 
     mOKButton.setChangeListener(this); 
     add(mOKButton); 
    } 

    public void fieldChanged(Field field, int context) { 
     if (mOKButton == field) 
      close(); 
    } 
} 

Exemple d'utilisation:

class Scr extends MainScreen { 
    public Scr() { 
     synchronized (UiApplication.getEventLock()) { 
      UiEngine ui = Ui.getUiEngine(); 

      String title = "Dialog Title"; 
      String text = "Lorem ipsum dolor sit amet, consectetur " 
        + "adipiscing elit. Donec venenatis " 
        + "condimentum urna, non accumsan magna " 
        + "ultrices ut. Morbi fringilla "; 
      GlobalDialog screen = new GlobalDialog(title, text); 

      ui.pushGlobalScreen(screen, 1, UiEngine.GLOBAL_QUEUE); 
     } 
    } 
} 

mis à jour selon Fernando commentaires

+0

WoW! Excellente aide. Fonctionne très bien! J'ai une autre question est, si je veux montrer le dialogue et rendre l'écran de l'appareil sur si l'écran de l'appareil est déjà dans l'état OFF, peut-il être possible? – Getsy

+0

De rien! Poster une question séparée sur l'affichage, donc il sera dédié et indexé par les machines de recherche :)! –

+1

je devais modifier ... au lieu de: écran de l'écran = new GlobalDialog (titre, texte) i utilisé: GlobalDialog écran = new GlobalDialog (titre, texte) Sinon je –