Un cuadro de diálogo de alerta es una ventana que aparece en la pantalla para dar notificaciones al usuario, tomar algunas decisiones por el usuario o ingresar alguna información del usuario. Un cuadro de diálogo de alerta generalmente no es de pantalla completa, pero en este artículo, implementaremos algo similar.
Creación de un cuadro de diálogo de alerta:
- Título: esta área da título al cuadro de diálogo de alerta .
- Descripción: Esta área da el mensaje principal del cuadro de diálogo de alerta.
- Botón de acción: Esta área se ocupa de la decisión del usuario después de leer la descripción
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 . El código para eso se proporcionó tanto en Java como en el lenguaje de programación Kotlin para Android.
Paso 2: Trabajando con activity_main.xml
Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml .
XML
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:background="#00FF00"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Open Gift" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
Paso 3: trabajar con el archivo MainActivity
Vaya al archivo MainActivity y consulte el siguiente código. A continuación se muestra el código para el archivo MainActivity. Se agregan comentarios dentro del código para comprender el código con más detalle.
Java
import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.util.DisplayMetrics; import android.view.WindowManager; import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // for changing the background color of title bar ActionBar aBar = getSupportActionBar(); ColorDrawable cd = new ColorDrawable(Color.parseColor("#FF00FF00")); if (aBar != null) { aBar.setBackgroundDrawable(cd); } // using onClickListener on button findViewById(R.id.button).setOnClickListener(v -> { // builds alert dialog AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); // description of alert dialog builder.setMessage("Welcome to GeeksForGeeks!"); // Title of alert dialog builder.setTitle("Gift !"); builder.setCancelable(false); // Action button of alert dialog for cancel dialog and come to homepage builder.setPositiveButton("Great, see again!", (dialog, which) -> dialog.cancel()); // Action button of alert dialog for exit app builder.setNegativeButton("Exit", (dialog, which) -> finish()); AlertDialog alertDialog = builder.create(); // show alert dialog alertDialog.show(); DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(); layoutParams.copyFrom(alertDialog.getWindow().getAttributes()); // setting width to 90% of display layoutParams.width = (int) (displayMetrics.widthPixels * 0.9f); // setting height to 90% of display layoutParams.height = (int) (displayMetrics.heightPixels * 0.9f); alertDialog.getWindow().setAttributes(layoutParams); }); } }
Kotlin
import android.graphics.Color import android.graphics.drawable.ColorDrawable import android.os.Bundle import android.util.DisplayMetrics import android.view.View import android.view.WindowManager import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // for changing the background color of title bar val aBar = supportActionBar val cd = ColorDrawable(Color.parseColor("#FF00FF00")) aBar?.setBackgroundDrawable(cd) // using onClickListener on button findViewById<View>(R.id.button).setOnClickListener { // builds alert dialog val builder = AlertDialog.Builder(this) // description of alert dialog builder.setMessage("Welcome to GeeksForGeeks!") // Title of alert dialog builder.setTitle("Gift !") builder.setCancelable(false) // Action button of alert dialog for cancel dialog and come to homepage builder.setPositiveButton("Great, see again!") { dialog, which -> dialog.cancel() } // Action button of alert dialog for exit app builder.setNegativeButton("Exit") { dialog, which -> finish() } val alertDialog = builder.create() // show alert dialog alertDialog.show() val displayMetrics = DisplayMetrics() windowManager.defaultDisplay.getMetrics(displayMetrics) val layoutParams = WindowManager.LayoutParams() layoutParams.copyFrom(alertDialog.window?.attributes) // setting width to 90% of display layoutParams.width = (displayMetrics.widthPixels * 0.9f).toInt() // setting height to 90% of display layoutParams.height = (displayMetrics.heightPixels * 0.9f).toInt() alertDialog.window?.attributes = layoutParams } } }
Producción:
Publicación traducida automáticamente
Artículo escrito por its_codezada17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA