Hit enter after type your search item

Créer une boite de dialogue (Alert Dialog) Android

/
/
/
13 Views
img

Alert Dialog ou boîte de dialogue en Français, une sous-classe de Dialog pouvant afficher un, deux ou trois boutons. Si vous souhaitez uniquement afficher une chaîne dans cette boîte de dialogue, utilisez la méthode setMessage(). Si vous souhaitez afficher une vue plus complexe, recherchez le FrameLayout appelé « custom » et ajoutez-y votre vue:

 FrameLayout fl = findViewById(android.R.id.custom_alertdialog);
 fl.addView(myView, new LayoutParams(MATCH_PARENT, WRAP_CONTENT));

Parfois, dans votre application, si vous souhaitez demander à l’utilisateur de prendre une décision entre oui ou non en réponse à une action particulière prise par l’utilisateur, en restant dans la même activité et sans changer d’écran, vous pouvez utiliser le dialogue Alert.

Pour créer une boîte de dialogue d’alerte, vous devez créer un objet AlertDialogBuilder qui soit une classe interne de AlertDialog. Sa syntaxe est donnée ci-dessous :

Comment créer un Alert Dialog Android

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);

Vous devez maintenant définir le bouton positif (oui) ou négatif (non) à l’aide de l’objet de la classe AlertDialogBuilder. la syntaxe est celle qui suit :

alertDialogBuilder.setPositiveButton(CharSequence text, 
   DialogInterface.OnClickListener listener)
alertDialogBuilder.setNegativeButton(CharSequence text, 
   DialogInterface.OnClickListener listener)

Une boîte de dialogue ou Alert Dialog vous aide à afficher une boîte d’avertissement, un bloc de message lorsque toute activité effectuée par un utilisateur doit être confirmée. Commençons donc le tutoriel :

Création de notre projet, voir le tutoriel créer un projet Android

copier et coller le code ci-dessous dans le fichier MainActivity de votre projet, veuillez modifier également le nom de package cd.misapi.boitededialogue par votre nom de package.

package cd.misapi.boitededialogue;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @SuppressWarnings("unused")
    public void open(View view){
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
        alertDialogBuilder.setMessage("Voulez-vous vraiment quitter ?");
                alertDialogBuilder.setPositiveButton("Oui",
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                               
                               // la tache à executer une fois le bouton Oui est appuyé
                            }
                });



        alertDialogBuilder.setNegativeButton("Non",new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface arg0, int arg1) {
                           // la tache à exécuter une fois le bouton est Non appuyé

            }
        });
        AlertDialog alertDialog = alertDialogBuilder.create();
        alertDialog.show();
    }
}

Maintenant on va copier les lignes ci-dessous et d’ajouter dans notre fichier main_activity.xml !

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/button"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="55dp"
        android:text="@string/boitededialogue"
        android:textSize="35sp" />


    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:layout_alignStart="@+id/textView"
        android:contentDescription="@string/app_name" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:onClick="open"
        android:text="@string/alertdialog" />

</RelativeLayout>

Le fichier string.xml de notre application sera ce qui suit :

<resources>
    <string name="app_name">Alerte Dialogue</string>
    <string name="boitededialogue">Boîte de dialogue</string>
</resources>

le fichier AndroidManifest.xml et son rôle

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cd.misapi.alertedialogue">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>
    </application>

</manifest>

 

2 Comments

Leave a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

This div height required for enabling the sticky sidebar
Ad Clicks :Ad Views : Ad Clicks :Ad Views :