DialogBox se utiliza en muchas aplicaciones de Android para mostrar cuadros de diálogo. Hay diferentes tipos de cuadros de diálogo que se muestran en las aplicaciones de Android, como AlertDialog , cuadros de diálogo de advertencia y otros. En este artículo, veremos cómo mostrar un cuadro de diálogo Sí/No en Android. A continuación se muestra un video de muestra para tener una idea de lo que vamos a hacer en este artículo.
Nota : este artículo de Android cubre los lenguajes Java y Kotlin .
Implementación paso a paso
Paso 1: crea un nuevo proyecto en Android Studio
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio .
Paso 2: trabajar con el archivo activity_main.xml
Vaya a aplicación > res > diseño > actividad_principal.xml y agréguele el siguiente código. Se agregan comentarios en el código para conocer en detalle.
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:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <!--on below line we are creating a text for heading of our app--> <TextView android:id="@+id/idTVHeading" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@id/idBtnDisplayDialog" android:layout_margin="20dp" android:gravity="center" android:padding="4dp" android:text="Yes/No Dialog Box" android:textAlignment="center" android:textColor="@color/purple_200" android:textSize="20sp" android:textStyle="bold" /> <!--on below line we are creating a button for displaying a dialog--> <Button android:id="@+id/idBtnDisplayDialog" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_margin="20dp" android:text="Show Dialog" android:textAllCaps="false" /> </RelativeLayout>
Paso 3: trabajar con el archivo MainActivity
Vaya a aplicación > java > nombre del paquete de su aplicación > archivo MainActivity y agréguele el siguiente código. Se agregan comentarios en el código para conocer en detalle.
Kotlin
package com.gtappdevelopers.kotlingfgproject import android.content.DialogInterface import android.os.Bundle import android.widget.Button import android.widget.Toast import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { // on below line we are creating // variable for image view. lateinit var dialogBtn: Button override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // on below line we are initializing our variable with id. dialogBtn = findViewById(R.id.idBtnDisplayDialog) // on below line we are adding click listener for our button. dialogBtn.setOnClickListener { // on below line we are creating a dialog click listener // variable and initializing it. val dialogClickListener = DialogInterface.OnClickListener { dialog, which -> when (which) { // on below line we are setting a click listener // for our positive button DialogInterface.BUTTON_POSITIVE -> { // on below line we are displaying a toast message. Toast.makeText(this, "Yes clicked", Toast.LENGTH_SHORT).show() } // on below line we are setting click listener // for our negative button. DialogInterface.BUTTON_NEGATIVE -> { // on below line we are dismissing our dialog box. dialog.dismiss() } } } // on below line we are creating a builder variable for our alert dialog val builder: AlertDialog.Builder = AlertDialog.Builder(this) // on below line we are setting message for our dialog box. builder.setMessage("Select yes to display toast message and no to dismiss the dialog ?") // on below line we are setting positive // button and setting text to it. .setPositiveButton("Yes", dialogClickListener) // on below line we are setting negative button // and setting text to it. .setNegativeButton("No", dialogClickListener) // on below line we are calling // show to display our dialog. .show() } } }
Java
package com.gtappdevelopers.kotlingfgproject; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { // on below line we are creating a variable for our button. private Button dialogBtn; private DialogInterface.OnClickListener dialogClickListener; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // on below line we are initializing variables with ids. dialogBtn = findViewById(R.id.idBtnDisplayDialog); // on below line we are adding click listener for our dialog button dialogBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // on below line we are creating a dialog click listener // variable and initializing it. dialogClickListener = new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which) { // on below line we are setting a click listener // for our positive button case DialogInterface.BUTTON_POSITIVE: // on below line we are displaying a toast message. Toast.makeText(MainActivity.this, "Yes clicked", Toast.LENGTH_SHORT).show(); break; // on below line we are setting click listener // for our negative button. case DialogInterface.BUTTON_NEGATIVE: // on below line we are dismissing our dialog box. dialog.dismiss(); } } }; // on below line we are creating a builder variable for our alert dialog AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext()); // on below line we are setting message for our dialog box. builder.setMessage("Select yes to display toast message and no to dismiss the dialog ?") // on below line we are setting positive button // and setting text to it. .setPositiveButton("Yes", dialogClickListener) // on below line we are setting negative button // and setting text to it. .setNegativeButton("No", dialogClickListener) // on below line we are calling // show to display our dialog. .show(); } }); } }
Ahora ejecute su aplicación para ver el resultado.
Producción:
Publicación traducida automáticamente
Artículo escrito por chaitanyamunje y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA