Quiero crear un cuadro de diálogo personalizado como el siguiente
He intentado las siguientes cosas.
Creé una subclase de AlertDialog.Builder y utilicé una vista personalizada de título y contenido personalizado y usé eso, pero el resultado no fue el esperado.
Otro intento fue subclasificar DialogFragment y personalizar el diálogo dentro de onCreateDialog, pero el resultado no fue el esperado.
Luego intenté usar una clase de diálogo simple . El resultado no fue el esperado.
En los tres casos, el problema es que cuando paso por alto la vista de título, el tamaño del cuadro de diálogo no es el esperado y cuando uso la vista de Título, el resultado es que hay un borde grueso alrededor de la vista de contenido (que realmente se ve mal). Ahora tengo dos preguntas en mi mente ...
¿Cómo puedo lograr eso? Como ya he probado muchas cosas, una respuesta directa será más apreciada.
¿Cuál es la mejor manera de mostrar un diálogo de error o alerta en una aplicación de Android?
EDITAR Documentación de desarrollador de Android recomienda que usemos DialogFragments o Dialogs para mostrar mensajes de error / alerta al usuario. Sin embargo, en un momento dicen ...
Consejo: Si desea un cuadro de diálogo personalizado, puede mostrar una Actividad como cuadro de diálogo en lugar de utilizar las API de cuadro de diálogo. Simplemente cree una actividad y establezca su tema en Theme.Holo.Dialog en el elemento de manifiesto.
¿Cuál es el significado de eso? ¿No es demasiado usar una actividad solo para mostrar un mensaje de error?
Respuestas:
Aquí he creado un diálogo simple, como:
custom_dialog.xml
Tienes que
extends Dialog
yimplements OnClickListener
¿Cómo llamar al diálogo?
Actualizaciones
Después de mucho tiempo, uno de mis amigos me pidió que creara un diálogo de forma curva con un fondo transparente. Entonces, aquí lo he implementado.
Para hacer una forma curva, debe crear una separada
curve_shap.XML
como se muestra a continuación,Ahora, agregue esto
curve_shap.XML
en su vista principal Diseño. En mi caso he usadoLinearLayout
¿Cómo llamar a esto?
Espero que eso funcione para usted.
fuente
R.id.TXT_Exit:
?Este es un diálogo de ejemplo, crear con xml.
el siguiente código xml es solo un ejemplo, el diseño o la vista se implementa aquí:
Estas líneas de código son recursos de dibujables:
podrías hacer una clase extiende el diálogo, también algo como esto:
finalmente la forma de llamada, en su Actividad, por ejemplo:
Espero que funcione para ti.
fuente
Otra forma fácil de hacer esto.
paso 1) crea un diseño con los ID adecuados.
paso 2) usa el siguiente código donde lo desees.
fuente
Agregue el tema a continuación en
values -> style.xml
Use este tema en su
onCreateDialog
método de esta manera:Defina su diseño de diálogo, incluida la barra de título en el archivo xml, y configure ese archivo xml de esta manera:
fuente
mdialog.findViewById(R.id.element);
Simple primero crea una clase
luego cree un custom_dialogbox_otp
luego en su dibujable crear debajo de los archivos xml.
para round_layout_white_otp.xml
para round_layout_otp.xml
botón redondo
Luego, finalmente use el código debajo para visualizar su diálogo :)
su salida :)
fuente
fuente
La forma más sencilla de crear cuadros de diálogo personalizados:
Inicializar y mostrar diálogo:
Crear método:
Cree el diseño XML que desee o necesite.
fuente
Puede probar esta sencilla biblioteca emergente de diálogo de Android para cortar el código de diálogo desordenado. Es muy simple de usar en su actividad. después de eso, puede tener este código en su actividad para mostrar el diálogo
donde R.layout.custom_pop es su diseño personalizado de la forma en que desea decorar su diálogo.
fuente
Encontré esto como la forma más fácil de mostrar un diálogo personalizado.
Tienes diseño
your_layout.xml
fuente
Crear diseño de alerta personalizado custom_aler_update.xml
Luego copie este código a la actividad:
Copie este código al estilo:
fuente
La forma más sencilla de cambiar el color de fondo y el estilo de texto es crear un tema personalizado para el cuadro de diálogo de alerta de Android como se muestra a continuación:
: Solo ponga el código debajo de styles.xml:
: Ahora se ha completado la personalización, ahora solo aplica a tu objeto alertBuilder:
Espero que esto te ayudará !
fuente
Clase de diálogo de alerta personalizada de pantalla completa en Kotlin
Cree un archivo XML, igual que lo haría con una actividad
Crear clase personalizada AlertDialog
Llamar al diálogo dentro de la actividad.
Nota **: Si no desea que su cuadro de diálogo esté en pantalla completa, elimine las siguientes líneas
Luego edite el layout_width & layout_height de su diseño superior dentro de su archivo XML para que sea wrap_content o un valor DP fijo.
Por lo general, no recomiendo usar DP fijo, ya que es probable que desee que su aplicación se adapte a múltiples tamaños de pantalla, sin embargo, si mantiene sus valores de tamaño lo suficientemente pequeños, debería estar bien
fuente
Crear un diseño de diálogo de alerta similar a este
y agregue el siguiente código en su clase de actividad
fuente
Es una clase para Alert Dialog para que pueda llamar a la clase desde cualquier actividad para reutilizar el código.
El archivo Xml para el mismo es:
fuente
Dialog Fragment es la forma más sencilla de crear un cuadro de diálogo de alerta personalizado. Siga el código anterior para crear una vista personalizada para su cuadro de diálogo y luego impleméntelo usando Dialog Fragment. Agregue el siguiente código a su archivo de diseño:
fuente
Crear cuadro de diálogo de alerta personalizado
cumstomDialog.xml
Muestra tu diálogo personalizado sobre tu actividad:
Llame así:
showDialog ("Título", "Mensaje", R.drawable.warning);
fuente
Estoy publicando el código de Kotlin que estoy usando y funciona bien para mí. También puede configurar la escucha de clics para los botones de diálogo.
Este es mi código XML:
layout_custom_alert_dialog.xml
mAlertDialog.kt
interfaz para oyentes de clics:
onClickListener.kt
Uso de muestra
¡Espero que esto ayude!
fuente
Me gusta usar la biblioteca tcAron. (Descargue aquí: https://github.com/triocoder/tcAron )
clase de importación:
import com.triocoder.tcaron.tcaronlibrary.tcAronDialogs;
escribe esto:
tcAronDialogs.showFancyAlert (MainActivity.this, false, "Text", "Close", "ic_hub_white", 0xFFF44336);
consulte la documentación:
https://github.com/triocoder/tcAron/wiki/showFancyAlert
fuente
El siguiente es el código para crear un diálogo de vista personalizado con kotlin. El siguiente es el archivo de diseño de diálogo
crear diálogo y actualizar el texto en la vista de texto
fuente
Aquí hay una manera muy simple de crear un diálogo personalizado.
dialog.xml
MainActivity.java
fuente
Importar alerta personalizada:
fuente