je veux créer une boîte de dialogue modale pour mon application.
donc lorsque la boîte de dialogue modale s'ouvre, les autres activités sont bloquées. aucun événement n'est fait comme une pression sur le bouton Retour ou une pression sur le bouton Accueil.
et mettez deux bouton d'option dans cette boîte de dialogue annuler et ok.
Je vous remercie...
Il existe de nombreux types de Dialogs
dans Android. Veuillez consulter Dialogues . Je suppose que ce que vous cherchez est quelque chose comme AlertDialog
. Voici l'exemple de la façon dont vous pouvez implémenter le bouton BackPress
.
@Override
public void onBackPressed() {
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Do you want to logout?");
// alert.setMessage("Message");
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//Your action here
}
});
alert.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
alert.show();
}
Use peut utiliser setCancellable (false); setCanceledOnTouchOutside (false); pour la boîte de dialogue elle-même, cela devrait empêcher la fermeture de cette boîte de dialogue par BACK et en tapant à l'extérieur de la boîte de dialogue.
Vous ne pouvez pas remplacer le bouton HOME.
Essaye ça::
Vous devez créer la mise en page que vous souhaitez afficher en popup. vous pouvez créer une mise en page XML et l'utiliser comme ceci:
LayoutInflater layoutInflater = (LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = layoutInflater.inflate(R.layout.new_popup_layout, null);
final PopupWindow popupWindow = new PopupWindow(
layout,
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
Vous pouvez également fournir des événements de clic de bouton comme celui-ci:
ImageButton btnChoose = (ImageButton) layout.findViewById(R.id.btnChoose);
btnChoose.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
}
});
et afficher cette fenêtre contextuelle comme ceci: ici, vous voulez l'afficher en cliquant sur le bouton, puis la vue du bouton sera là.
popupWindow.showAtLocation(anyview,Gravity.CENTER, 0, 0);
Essayez comme ci-dessous:
AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Are you sure you want to exit?") .setCancelable(false) .setPositiveButton(Android.R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { MyActivity.this.finish(); } }) .setNegativeButton(Android.R.string.no, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alert = builder.create();
Pour l'événement Home Key:
Non, il n'est pas possible d'obtenir l'événement de touche Accueil dans Android. À partir de la documentation du code de touche Home: http://developer.Android.com/reference/Android/view/KeyEvent.html#KEYCODE_HOME
public static final int KEYCODE_HOME
Constante de code de touche: touche Accueil. Cette clé est gérée par le framework et n'est jamais fournie aux applications .