Inspiré par le chat-gift réactif-natif. Hautement personnalisable et aide à développer une interface utilisateur de chat plus rapidement.
Pour utiliser ce package, ajoutez dash_chat comme dépendance dans votre fichier pubspe.yaml.
exemple, message de chat
ChatMessage (
text : "Hello" ,
user : ChatUser (
name : "Fayeed" ,
uid : "123456789" ,
avatar : "https://www.wrappixel.com/ampleadmin/assets/images/users/4.jpg" ,
),
createdAt : DateTime . now (),
image : "http://www.sclance.com/images/picture/Picture_753248.jpg" ,
);Exemple, message de chat avec des réponses rapides
ChatMessage (
text : "This is a quick reply example." ,
user : ChatUser (),
createdAt : DateTime . now (),
quickReplies : QuickReplies (
values : < Reply > [
Reply (
title : "? Yes" ,
value : "Yes" ,
),
Reply (
title : "? Nope. What?" ,
value : "no" ,
),
],
),
),messageContainerFlex (int) - Valeur flexible pour le conteneur de message par défaut à 1height (double) - hauteur pour le widget de chat de tableau de bord.width (double) - Largeur pour le widget de chat Dash.messages (liste) - Liste des messages à afficher dans le chat.text (chaîne) - [Paramètre facultatif] Si fourni s'arrêtera à utiliser le contrôleur par défaut.onTextChange (fonction (chaîne)) - Si le paramètre de texte est passé, onTtextchange doit également être passé.inputDecoration (InputDecoration) - Utilisé pour fournir une décoration d'entrée au texte.messageIdGenerator (fonction String) - Habituellement, le nouveau message ajouté par l'utilisateur obtient UUID V4 String Generater par UUID.user (Chauser) - L'objet utilisateur actuel. DashChat (
user : ChatUser (
name : "Jhon Doe" ,
uid : "xxxxxxxxx" ,
avatar : "https://www.wrappixel.com/ampleadmin/assets/images/users/4.jpg" ,
)
); onSend (fonction (chatMessage)) - rappel lors de l'envoi d'un message.
alwaysShowSend (bool) - Si le bouton Envoi est toujours actif par défaut est faux.
avatarMaxSize (double) - Définit la taille maximale de l'Avatar par défaut, la valeur par défaut est 30.0 .
dateFormat (DATEFORMAT) - Format à utiliser pour le rendu de la date de défaut est yyyy-MM-dd .
timeFormat (DateFormat) - Format à utiliser pour le rendu du temps par défaut est HH:mm:ss .
showUserAvatar (bool) - Si l'utilisateur Avatar est affiché.
showAvatarForEveryMessage (bool) - Si l'avatar est affiché pour chaque message par défaut est faux.
onPressAvatar (fonction (Chauser)) - Fonction de rappel lorsque Avatar est exploité.
onLongPressAvatar (fonction (Chauser)) - Funtion de rappel lorsque Avatar est longtemps enfoncé.
onLongPressMessage (fonction (Chauser)) - Fonction de rappel lorsque le message est long sur longtemps.
inverted (bool) - Si les messages sont affichés dans l'ordre inversé
avatarBuilder (Fonction du widget (Chauser)) - remplacera l'avatar par défaut.
messageBuilder (Fonction Widget (ChatMessage)) - remplacera le widget de message par défaut.
messageTextBuilder (Fonction du widget (String)) - remplacera le widget de texte de message par défaut.
messageImageBuilder (Fonction du widget (String)) - remplacera le widget IMAEG du message par défaut
messageTimeBuilder (Fonction du widget (String)) - remplacera le widget de temps de message par défaut.
dateBuilder (fonction du widget (chaîne)) - remplacera le widget de date de vue de chat par défaut.
sendButtonBuilder (Fonction du widget (fonction)) - remplacera le widget du bouton Envoi par défaut.
chatFooterBuilder (fonction du widget) - Un widget qui sera illustré sous le widget de texte MessagelistView comme vous pouvez un widget de texte "Tinging ..." à la fin.
inputFooterBuilder (fonction du widget) - Un widget qui sera illustré sous le ChatinputToolbar.
maxInputLength (INT) - Longueur d'entrée principale de la zone de texte d'entrée Defaulst à aucune limite.
parsePatterns (liste) - Utilisé pour analyser le texte pour créer un texte lintifié utilise flutter_parsed_text.
DashChat (
parsePatterns : < MatchText > [
MatchText (
type : "email" ,
onTap : ( String value) {}
),
MatchText (
pattern : r"B#+([w]+)b" ,
style : TextStyle (
color : Colors .pink,
fontSize : 24 ,
),
onTap : ( String value) {}
),
]
); messageContainerDecoration (BoxDecoration) - fournit un style personnalisé au conteneur de messages.
leading (list <widget>) - Liste du widget à afficher avant le Textfield.
trailing (List <Didget>) - Liste du widget à afficher une fois que le champ de texte supprimera le bouton Envoyer.
readOnly (bool) - cache la barre d'entrée, par défaut est false .
showTraillingBeforeSend - Si les widgets de traction sont affichés avant que le bouton d'envoi soit par true .
inputTextStyle (TextStyle) - Style pour TextField.
inputContainerStyle (BoxDecoration) - Style de conteneur TextField.
inputMaxLines (int) - Longueur maximale des lignes d'entrée par défaut à 1.
showInputCursor (bool) - Si le curseur d'entrée est affiché par défaut.
inputCursorWidth (Double) - Largeur du texte La saisie par défaut est 2.0.
inputCursorColor (couleur) - La couleur du curseur d'entrée par défaut est le thème.
scrollController (ScrollController) - ScrollController pour MessageListView.
messageContainerPadding (edgeInsetsGeometry) - rembourrage pour MessagelistView.
messagePadding (EdgeInsets) - rembourrage pour le MessageContainer.
onQuickReply (Funtion (Répondre)) - Méthode de rappel lorsque le QuickReply a été exploité.
quickReplyStyle (BoxDecoration) - Style de conteneur pour le conteneur QuickReply.
quickReplyTextStyle (TextStyle) - Style de texte QuickReply.
quickReplyBuilder (Fonction du widget (réponse)) - remplacera le widget QuickReply par défaut.
scrollToBottom (bool) - Si le widget de défilement vers le bas est affiché par true .
scrollToBottomStyle (ScrollTobottomStyle) - Définit le style et la position du widget ScrollTobottom.
scrollToBottomWidget (widget function ()) - remplace le scrolltobottomwidget par défaut avec un widget personnalisé.
onScrollToBottomPress (fonction) - remplacer le comportement par défaut du widget OnscrollTobottom.
shouldShowLoadEarlier (BOOL) - Si le widget flottant Lovearlier est affiché ou utilise la charge de chargement comme vous défilez où vous appellera FAUX le schéma d'onoLoadarlier, ce qui est ce schéma.
showLoadEarlierWidget (widget function ()) - remplacer le comportement par défaut du widget OnscrollTobottom.
onLoadEarlier (fonction) - remplacer le comportement par défaut du widget OnloadEarleir ou utilisé comme rappel lorsque le ListView atteint le haut.
inputToolbarPadding (EdgeInsets) - peut être utilisé pour ajouter un rembourrage à la barre d'outils d'entrée.
inputToolbarMargin (EdgeInsets) - peut être utilisé pour ajouter une marge à la barre d'outils d'entrée.
shouldStartMessagesFromTop (bool) - peut être utilisé pour aligner les messages afin qu'il commence de haut en bas au lieu du bas par défaut en haut.
textBeforeImage (bool) - peut être utilisé pour définir l'ordre du texte et l'image à l'intérieur d'un message par défaut est true .
quickReplyScroll (bool) - Si les options de réponse rapide sont à défiler horizontalement
quickReplyPadding (edgeInsetsGeometry) - rembourrage pour QuickReply
inputDisabled (bool) - Si le champ de texte d'entrée est désactivé, par défaut est false
messageDecorationBuilder (Fonction BoxDecoration (ChatMessage, IsUser) - remplacer la décoration du conteneur de messages. [Remarque: Cela remplacera le MessageContainerDecoration]
DashChat (
...
messageDecorationBuilder : ( ChatMessage msg, bool isUser){
return BoxDecoration (
...
color : isUser ? Colors .red : Colors .blue, // example
...
);
},
...
);Si vous avez trouvé ce projet utile, veuillez envisager de lui donner un ️ sur GitHub et de le partager avec vos amis via les médias sociaux.
Voir le dash_chat.dart pour plus de détails API
Si vous avez une suggestion pour inclure une fonctionnalité ou si quelque chose ne fonctionne pas, n'hésitez pas à ouvrir un problème GitHub pour que nous ayons une discussion à ce sujet.