Je veux créer une boîte de dialogue personnalisée comme ci-dessous
J'ai essayé les choses suivantes.
J'ai créé une sous-classe d' AlertDialog.Builder et utilisé un titre personnalisé et une vue de contenu personnalisé et j'ai utilisé cela, mais le résultat n'était pas comme prévu.
Une autre tentative a consisté à sous- classer DialogFragment et à personnaliser la boîte de dialogue dans onCreateDialog, mais le résultat n'était pas celui attendu.
Ensuite, j'ai essayé d'utiliser une classe de dialogue simple . Le résultat n'a pas été comme prévu.
Dans les trois cas, le problème est lorsque j'oublie la vue du titre, la taille de la boîte de dialogue n'est pas celle attendue et lorsque j'utilise la vue du titre, le résultat est qu'il y a une bordure épaisse autour de la vue du contenu (ce qui est vraiment mauvais). Maintenant, j'ai deux questions en tête ...
Comment puis-je y parvenir? Comme j'ai déjà essayé tant de choses, une réponse directe sera plus appréciée.
Quelle est la meilleure façon d'afficher une boîte de dialogue d'erreur ou d'alerte dans une application Android?
EDIT Android Developer Documentation recommande que nous devrions utiliser DialogFragments ou Dialogs pour afficher les messages d'erreur / d'alerte à l'utilisateur. Cependant, à un moment donné, ils disent ...
Conseil: Si vous souhaitez une boîte de dialogue personnalisée, vous pouvez à la place afficher une activité sous forme de boîte de dialogue au lieu d'utiliser les API de boîte de dialogue. Créez simplement une activité et définissez son thème sur Theme.Holo.Dialog dans l'élément manifeste.
Quelle est la signification de cela? N'est-ce pas trop utiliser une activité juste pour afficher un message d'erreur ???
Réponses:
Ici, j'ai créé un dialogue simple, comme:
custom_dialog.xml
Vous devez
extends Dialog
etimplements OnClickListener
Comment appeler la boîte de dialogue?
Mises à jour
Après un long moment, un de mes amis m'a demandé de faire un dialogue de forme courbe avec un fond transparent. Donc, ici, je l'ai mis en œuvre.
Pour créer une forme courbe, vous devez en créer une distincte
curve_shap.XML
comme ci-dessous,Maintenant, ajoutez ceci
curve_shap.XML
dans votre disposition de vue principale. Dans mon cas, j'ai utiliséLinearLayout
Comment appeler ça?
J'espère que cela fonctionne pour vous.
la source
R.id.TXT_Exit:
?Ceci est un exemple de dialogue, créé avec xml.
le code suivant xml n'est qu'un exemple, la conception ou la vue est implémentée ici:
ces lignes de code sont des ressources de drawable:
vous pourriez faire une classe étend Dialog, également quelque chose comme ceci:
enfin le formulaire d'appel, sur votre Activité par exemple:
J'espère que son travail pour vous.
la source
Un autre moyen simple de le faire.
étape 1) créez une mise en page avec les identifiants appropriés.
étape 2) utilisez le code suivant où vous le souhaitez.
la source
Ajoutez le thème ci-dessous dans
values -> style.xml
Utilisez ce thème dans votre
onCreateDialog
méthode comme ceci:Définissez votre disposition de dialogue, y compris la barre de titre dans le fichier xml et définissez ce fichier xml comme ceci:
la source
mdialog.findViewById(R.id.element);
Créez d'abord une classe
puis créez un custom_dialogbox_otp
puis dans votre dessinable créer sous les fichiers xml.
pour round_layout_white_otp.xml
pour round_layout_otp.xml
bouton_ronde
Enfin, utilisez le code ci-dessous pour visualiser la boîte de dialogue ur :)
votre sortie :)
la source
la source
Manière la plus simple de créer une boîte de dialogue personnalisée:
Initialiser et afficher la boîte de dialogue:
Créer une méthode:
Créez la mise en page XML que vous souhaitez ou dont vous avez besoin.
la source
Vous pouvez essayer cette bibliothèque contextuelle de boîte de dialogue Android simple pour couper le code de boîte de dialogue encombré. Il est très simple à utiliser sur votre activité. après cela, vous pouvez avoir ce code dans votre activité pour afficher la boîte de dialogue
où R.layout.custom_pop est votre mise en page personnalisée comme vous voulez décorer votre boîte de dialogue.
la source
J'ai trouvé cela comme le moyen le plus simple d'afficher une boîte de dialogue personnalisée.
Vous avez une mise en page
your_layout.xml
la source
Créer une disposition d'alerte personnalisée custom_aler_update.xml
Copiez ensuite ce code dans Activity:
Copiez ce code dans le style:
la source
Le moyen le plus simple de changer la couleur d'arrière-plan et le style de texte est de créer un thème personnalisé pour la boîte de dialogue d'alerte Android comme ci-dessous: -
: Mettez simplement le code ci-dessous dans styles.xml:
: Maintenant que la personnalisation est terminée, appliquez maintenant à votre objet alertBuilder:
J'espère que cela vous aidera !
la source
Classe de boîte de dialogue d'alerte personnalisée en plein écran dans Kotlin
Créez un fichier XML, comme vous le feriez pour une activité
Créer une classe personnalisée AlertDialog
Appeler la boîte de dialogue au sein de l'activité
Remarque **: Si vous ne souhaitez pas que votre boîte de dialogue soit en plein écran, supprimez les lignes suivantes
Modifiez ensuite la layout_width & layout_height de votre mise en page supérieure dans votre fichier XML pour être wrap_content ou une valeur DP fixe.
Je ne recommande généralement pas d'utiliser le DP fixe car vous voudriez probablement que votre application soit adaptable à plusieurs tailles d'écran, mais si vous gardez vos valeurs de taille suffisamment petites, ça devrait aller.
la source
Créer une disposition de boîte de dialogue d'alerte quelque chose comme ceci
et ajoutez le code ci-dessous sur votre classe d'activité
la source
C'est une classe pour la boîte de dialogue d'alerte afin que vous puissiez appeler la classe depuis n'importe quelle activité pour réutiliser le code.
Le fichier XML pour le même est:
la source
Le fragment de boîte de dialogue est le moyen le plus simple de créer une boîte de dialogue d'alerte personnalisée.Suivez le code ci-dessus pour créer une vue personnalisée pour votre boîte de dialogue, puis implémentez-la à l'aide de la boîte de dialogue. Ajoutez le code suivant à votre fichier de mise en page:
la source
Boîte de dialogue Créer une alerte personnalisée
cumstomDialog.xml
Affichez votre boîte de dialogue personnalisée sur votre activité:
Appelez comme ceci:
showDialog ("Titre", "Message", R.drawable.warning);
la source
Je publie le code kotlin que j'utilise et cela fonctionne bien pour moi. vous pouvez également définir l'écouteur de clic pour les boutons de dialogue.
voici mon code XML:
layout_custom_alert_dialog.xml
mAlertDialog.kt
interface pour les auditeurs de clics:
onClickListener.kt
Exemple d'utilisation
J'espère que cela t'aidera!
la source
J'aime utiliser la bibliothèque tcAron. (Téléchargez ici: https://github.com/triocoder/tcAron )
classe d'importation:
import com.triocoder.tcaron.tcaronlibrary.tcAronDialogs;
écrire cela:
tcAronDialogs.showFancyAlert (MainActivity.this, false, "Text", "Close", "ic_hub_white", 0xFFF44336);
consultez la documentation:
https://github.com/triocoder/tcAron/wiki/showFancyAlert
la source
Voici le code pour créer une boîte de dialogue de vue personnalisée avec kotlin. Voici le fichier de disposition de dialogue
création d'une boîte de dialogue et mise à jour du texte dans la vue texte
la source
Voici un moyen très simple de créer une boîte de dialogue personnalisée.
dialog.xml
MainActivity.java
la source
Importer une alerte personnalisée:
la source