AlertDialog en Android es una especie de mensaje emergente que alerta al usuario sobre los usos de la actividad. Esto es desarrollado específicamente por un desarrollador para realizar cualquier operación o solicitar cualquier permiso y no una llamada del sistema operativo Android. Alert Dialog en general no tiene valores de dimensión fijos y más bien varía de un dispositivo a otro dependiendo del tamaño de la pantalla de la aplicación.
En este artículo, le mostraremos cómo puede personalizar las dimensiones del diálogo de alerta a una escala en su aplicación de Android.
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 . Demostramos la aplicación en Kotlin , así que asegúrese de seleccionar Kotlin como idioma principal al crear un nuevo proyecto.
Paso 2: trabajar con el archivo 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 . Agregue un botón en el archivo de diseño. Cree un botón que al hacer clic generará un AlertDialog.
XML
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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"> <!-- Click this button to show alert dialog --> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Show Alert Dialog" android:layout_centerInParent="true"/> </RelativeLayout>
Paso 3: trabajar con el archivo MainActivity.kt
Vaya al archivo MainActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.
Kotlin
import android.os.Build import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.WindowManager import android.widget.Button import androidx.annotation.RequiresApi import androidx.appcompat.app.AlertDialog class MainActivity : AppCompatActivity() { @RequiresApi(Build.VERSION_CODES.R) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Declaring and initializing button from the layout val mButton = findViewById<Button>(R.id.button) // When button is clicked mButton.setOnClickListener { // Build an alert dialog, declare its attributes val mDialogBuilder = AlertDialog.Builder(this) mDialogBuilder.apply { setTitle("This is Title") setMessage("This is Message: \n\nWidth & Height set to 50% of app screen size") setPositiveButton("Positive Button", null) setNegativeButton("Negative Button", null) } // Create and show the dialog val mDialog = mDialogBuilder.create() mDialog.show() // Get the current app screen width and height val mDisplayMetrics = windowManager.currentWindowMetrics val mDisplayWidth = mDisplayMetrics.bounds.width() val mDisplayHeight = mDisplayMetrics.bounds.height() // Generate custom width and height and // add to the dialog attributes // we multiplied the width and height by 0.5, // meaning reducing the size to 50% val mLayoutParams = WindowManager.LayoutParams() mLayoutParams.width = (mDisplayWidth * 0.5f).toInt() mLayoutParams.height = (mDisplayHeight * 0.5f).toInt() mDialog.window?.attributes = mLayoutParams } } }
Producción:
Puede ver que las dimensiones de AlertDialog ahora están personalizadas.
Publicación traducida automáticamente
Artículo escrito por aashaypawar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA