Inspiriert von reagieren-nativ-begabtem Chat. Sehr anpassbar und hilft dabei, die Chat -Benutzeroberfläche schneller zu entwickeln.
Um dieses Paket zu verwenden, fügen Sie dash_chat als Abhängigkeit in Ihre PUBSPEC.YAML -Datei hinzu.
Beispiel, Chat -Nachricht
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" ,
);Beispiel, Chat -Nachricht mit schnellen Antworten
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) - Flex -Wert für den Messens -Container -Container standardmäßig 1height (doppelt) - Höhe für das Dash -Chat -Widget.width (doppelt) - Breite für das Dash -Chat -Widget.messages (Liste) - Liste der Nachrichten, die im Chat angezeigt werden sollen.text (String) - [Optionaler Parameter] Wenn angegeben wird, wird der Standardcontroller verwendet.onTextChange (Funktion (String)) - Wenn der Textparameter übergeben wird, muss auch OnTextChange übergeben werden.inputDecoration (InputDecoration) - Wird verwendet, um die Eingabebedanz für den Text bereitzustellen.messageIdGenerator (String -Funktion) - Normalerweise wird von dem Benutzer hinzugefügt, der UUID V4 String Generater von UUID erhält.user (Chatuser) - Das aktuelle Benutzerobjekt. DashChat (
user : ChatUser (
name : "Jhon Doe" ,
uid : "xxxxxxxxx" ,
avatar : "https://www.wrappixel.com/ampleadmin/assets/images/users/4.jpg" ,
)
); onSend (Funktion (ChatMessage)) - Rückruf beim Senden einer Nachricht.
alwaysShowSend (bool) - Sollte die Schaltfläche Senden immer aktive Standardeinstellungen für false sein.
avatarMaxSize (doppelt) - Legt die maximale Größe des Standard -Avatars fest, die Standardeinstellung beträgt 30.0 .
dateFormat (DateFormat)-Format zum Rendern Datum Standard ist yyyy-MM-dd .
timeFormat (DateFormat) - Format zum Rendern von Zeitverlust ist HH:mm:ss .
showUserAvatar (bool) - Sollte der Benutzer Avatar angezeigt werden.
showAvatarForEveryMessage (bool) - Sollte der Avatar für jede Meldungsverwaltung auf False angezeigt werden.
onPressAvatar (Funktion (Chatuser)) - Rückruffunktion, wenn Avatar angezogen wird.
onLongPressAvatar (Funktion (Chatuser) - Rückruffunktion Wenn der Avatar lange gedrückt wird.
onLongPressMessage (Funktion (Chatuser) - Rückruffunktion Wenn die Nachricht lange gedrückt wird.
inverted (BOOL) - Sollten die Nachrichten in umgekehrter Reihenfolge angezeigt werden
avatarBuilder (Widget -Funktion (Chatuser)) - Überschreibt den Standard -Avatar.
messageBuilder (Widget -Funktion (ChatMessage)) - Überschreibt das Standardmeldungs -Widget.
messageTextBuilder (Widget Function (String)) - überschreibt das Standard -Meldungstext -Widget.
messageImageBuilder (Widget Function (String)) - Überschreibt die Standardnachricht IMAEG -Widget
messageTimeBuilder (Widget Function (String)) - überschreibt das Standard -Meldungszeit -Widget.
dateBuilder (Widget -Funktion (String)) - Überschreibt das Standard -Chat -Ansicht -Datum.
sendButtonBuilder (Widget -Funktion (Funktion)) - Überschreibt das Standard -Send -Widget.
chatFooterBuilder (Widget -Funktion) - Ein Widget, das unter der MessagelistView wie möglich "Binden ..." am Ende angezeigt wird.
inputFooterBuilder (Widget -Funktion) - Ein Widget, das unten in der ChatinputToolbar angezeigt wird.
maxInputLength (int) - Haupteingangslänge des Eingangstextfelds Defaulst bis keine Grenze.
parsePatterns (Liste) - Wird verwendet, um Text zu analysieren, um einen verknüpften Text zu erstellen. Verwendet 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) - Bietet einen benutzerdefinierten Stil für den Nachrichtenbehälter.
leading (List <Widget>) - Liste des Widgets, das vor dem Textfeld angezeigt werden soll.
trailing (Liste <Gwidget>) - Liste des Widgets, das nach dem Textfeld die Schaltfläche Senden entfernen soll.
readOnly (bool) - verbirgt die Eingangsleiste, standardmäßig zu false .
showTraillingBeforeSend - Sollten die Trailling -Widgets vor der Send -Schaltfläche an true angezeigt werden.
inputTextStyle (TextStyle) - Stil für das Textfeld.
inputContainerStyle (BoxDecoration) - Textfeldbehälterstil.
inputMaxLines (int) - Maximale Länge der Eingangsleitungen standardmäßig 1.
showInputCursor (BOOL) - Sollte der Eingangscursor Standard für true angezeigt werden.
inputCursorWidth (doppelt) - Breite des Texteingangs standardmäßig auf 2.0.
inputCursorColor (Farbe) - Farbe des Eingangscursors standardmäßig zum Thema.
scrollController (ScrollController) - ScrollController für die MessagelistView.
messageContainerPadding (EdgeInsetsGeometry) - Polsterung für die MessagelistView.
messagePadding (EdgeInsets) - Polsterung für den MessageContainer.
onQuickReply (Funktion (Antwort)) - Rückrufmethode, wenn das QuickReply angezogen wurde.
quickReplyStyle (BoxDecoration) - Containerstil für den QuickReply Container.
quickReplyTextStyle (TextStyle) - QuickReply Textstil.
quickReplyBuilder (Widget Function (Antwort)) - Überschreibt das Standard -QuickReply -Widget.
scrollToBottom (BOOL) - Sollte der Scrollen nach unten Widget standardmäßig zu true angezeigt werden.
scrollToBottomStyle (ScrolltobottomStyle) - Legt den Stil und die Position für das Scrolltobottom -Widget fest.
scrollToBottomWidget (Widget function ()) - Überschreibt das Standard -ScrollTobottomWidget mit einem benutzerdefinierten Widget.
onScrollToBottomPress (Funktion) - Überschreiben Sie das Standardverhalten des ONSCrolltobottom -Widgets.
shouldShowLoadEarlier (BOOL) - Sollte das loadearlier -schwimmende Widget angezeigt oder last verwendet werden, wenn Sie das Scrollschema WHCIH aufrufen, die die Onload -standardmäßigen Standardeinstellungen auf False aufrufen, was dieses Schema ist.
showLoadEarlierWidget (Widget function ()) - Überschreiben Sie das Standardverhalten des ONSCRollTobottom -Widgets.
onLoadEarlier (Funktion) - Überschreiben Sie das Standardverhalten des Onloadearleir -Widgets oder werden als Rückruf verwendet, wenn die ListView die Spitze erreicht.
inputToolbarPadding (EdgeInsets) - kann zur Aufpolsterung zur Eingabe -Symbolleiste verwendet werden.
inputToolbarMargin (EdgeInsets) - kann zur Hinzufügen von Rand zur Eingangs -Symbolleiste verwendet werden.
shouldStartMessagesFromTop (bool) - kann verwendet werden, um Nachrichten so auszurichten, dass sie von oben nach unten anstelle des Standard -unten nach oben startet.
textBeforeImage (BOOL) - Kann verwendet werden, um die Reihenfolge des Textes und das Bild in einer Nachricht Standard auf true festzulegen.
quickReplyScroll (BOOL) - Sollten die schnellen Antwortoptionen horizontal scrollbar sein
quickReplyPadding (EdgeInsetsSgeometrie) - Polsterung für QuickReply
inputDisabled (BOOL) - Sollte das Eingabtextfeld deaktiviert sein, standardmäßig für false
messageDecorationBuilder (BoxDecoration -Funktion (ChatMessage, Isuser) - Überschreien Sie die Dekoration von Nachrichtencontainern. [Hinweis: Dadurch wird die MessageContainerDecoration überschrieben]
DashChat (
...
messageDecorationBuilder : ( ChatMessage msg, bool isUser){
return BoxDecoration (
...
color : isUser ? Colors .red : Colors .blue, // example
...
);
},
...
);Wenn Sie dieses Projekt nützlich fanden, sollten Sie ihm über soziale Medien ein ️ für Github geben und es mit Ihren Freunden mit Ihren Freunden teilen.
Weitere API -Details finden Sie im Dash_Chat.dart
Wenn Sie einen Vorschlag zur Aufnahme einer Funktion haben oder wenn etwas nicht funktioniert, können Sie ein Github -Problem öffnen, damit wir eine Diskussion darüber führen können.