React-Nativeギフトチャットに触発されました。高度にカスタマイズ可能で、チャットUIの開発をより速く開発するのに役立ちます。
このパッケージを使用するには、pubspec.yamlファイルの依存関係としてdash_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" ,
);たとえば、クイック返信を使用したチャットメッセージ
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) - メッションコンテナのフレックス値はデフォルトです1height (ダブル) - ダッシュチャットウィジェットの高さ。width (double) - ダッシュチャットウィジェットの幅。messages (リスト) - チャットに表示するメッセージのリスト。text (文字列) - [オプションパラメーター]提供されている場合は、デフォルトのコントローラーの使用を停止します。onTextChange (function(string)) - テキストパラメーターが渡される場合、ontextchangeも渡す必要があります。inputDecoration (inputdecoration) - テキストに入力装飾を提供するために使用されます。messageIdGenerator (String Function) - 通常、ユーザーが追加した新しいメッセージは、UUIDによってUUID V4 String Generaterを取得します。user (chatuser) - 現在のユーザーオブジェクト。 DashChat (
user : ChatUser (
name : "Jhon Doe" ,
uid : "xxxxxxxxx" ,
avatar : "https://www.wrappixel.com/ampleadmin/assets/images/users/4.jpg" ,
)
); onSend (function(chatmessage)) - メッセージを送信するときのコールバック。
alwaysShowSend (bool) - 送信ボタンが常にアクティブになった場合、デフォルトはfalseになります。
avatarMaxSize (double) - デフォルトのアバターの最大サイズを設定します。デフォルトは30.0です。
dateFormat (dateformat) - レンダリング日付のデフォルトに使用する形式はyyyy-MM-ddです。
timeFormat (dateFormat) - レンダリング時間のデフォルトに使用するフォーマットはHH:mm:ssです。
showUserAvatar (bool) - ユーザーアバターを表示する必要があります。
showAvatarForEveryMessage (bool) - すべてのメッセージに対してアバターを表示する必要がありますデフォルトはfalseになります。
onPressAvatar (function(chatuser)) - アバターがタップされたときのコールバックファン
onLongPressAvatar (function(chatuser)) - アバターが長い間押されているときのコールバックファン
onLongPressMessage (function(chatuser)) - メッセージが長く押されたときのコールバックファン
inverted (bool) - メッセージを逆順に表示する必要があります
avatarBuilder (ウィジェット関数(Chatuser)) - デフォルトのアバターをオーバーライドします。
messageBuilder (ウィジェット関数(ChatMessage)) - デフォルトのメッセージウィジェットをオーバーライドします。
messageTextBuilder (Widget Function(String)) - デフォルトのメッセージテキストウィジェットをオーバーライドします。
messageImageBuilder (ウィジェット関数(String)) - デフォルトのメッセージIMAEGウィジェットをオーバーライドします
messageTimeBuilder (ウィジェット関数(String)) - デフォルトのメッセージ時間ウィジェットをオーバーライドします。
dateBuilder (ウィジェット関数(String)) - デフォルトのチャットビュー日付ウィジェットをオーバーライドします。
sendButtonBuilder (ウィジェット関数(機能)) - デフォルトの送信ボタンウィジェットをオーバーライドします。
chatFooterBuilder (ウィジェット関数) - 最後に「Tying ...」テキストウィジェットができるように、MessageListViewの下に表示されるウィジェット。
inputFooterBuilder (ウィジェット関数) - ChatinputToolbarの下に表示されるウィジェット。
maxInputLength (int) - 入力テキストボックスのメイン入力長デフォーストは制限なし。
parsePatterns (list) - テキストを解析してリンク化されたテキストを作成するために使用されます。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) - メッセージコンテナにカスタムスタイルを提供します。
leading (List <Widget>) - テキストフィールドの前に表示するウィジェットのリスト。
trailing (List <Widget>) - テキストフィールドが送信ボタンを削除した後に表示するウィジェットのリスト。
readOnly (bool) - 入力バーを隠し、デフォルトはfalseになります。
showTraillingBeforeSend送信ボタンがtrueである前に、トライリングウィジェットを表示する必要があります。
inputTextStyle (TextStyle) - テキストフィールドのスタイル。
inputContainerStyle (BoxDecoration) - テキストフィールドコンテナスタイル。
inputMaxLines (int) - 入力行の最大長デフォルト1。
showInputCursor (bool) - 入力カーソルを表示する必要がある場合は、デフォルトです。
inputCursorWidth (double) - テキスト入力の幅は2.0です。
inputCursorColor (色) - 入力カーソルの色はテーマにデフォルトです。
scrollController (ScrollController) - MessageListViewのScrollController。
messageContainerPadding (EdgeInsetSetsegometry) - MessageListViewのパディング。
messagePadding (EdgeInsets) - MessageContainerのパディング。
onQuickReply (Funtion(Reply)) - QuickReplyがタップされたときのコールバック方法。
quickReplyStyle (BoxDecoration) - QuickReplyコンテナ用のコンテナスタイル。
quickReplyTextStyle (TextStyle) - QuickReply Text Style。
quickReplyBuilder (ウィジェット関数(返信)) - デフォルトのQuickReplyウィジェットをオーバーライドします。
scrollToBottom (bool) - 下部ウィジェットまでのスクロールが表示される場合は、 trueです。
scrollToBottomStyle (scrolltobottomstyle) - scrolltobottomウィジェットのスタイルと位置を設定します。
scrollToBottomWidget (widget function()) - デフォルトのscrolltobottomwidgetをカスタムウィジェットでオーバーライドします。
onScrollToBottomPress (function) - onscrolltobottomウィジェットのデフォルト動作をオーバーライドします。
shouldShowLoadEarlier (bool) - スクロールスキームとしてLoadearlierフローティングウィジェットが表示されるか、Loadearlierのデフォルトをfalseに呼び出す場合、このスキームがfalseになります。
showLoadEarlierWidget (widget function()) - onscrolltobottomウィジェットのデフォルト動作をオーバーライドします。
onLoadEarlier (function) - onloadearleirウィジェットのデフォルト動作をオーバーライドするか、listViewが上部に到達したときにコールバックとして使用します。
inputToolbarPadding (EdgeInsets) - 入力ツールバーにパディングを追加するために使用できます。
inputToolbarMargin (EdgeInsets) - 入力ツールバーにマージンを追加するために使用できます。
shouldStartMessagesFromTop (BOOL) - を使用してメッセージを合わせることができ、デフォルトのボトムの代わりに上から下まで上に始まるようになります。
textBeforeImage (BOOL) - テキストの順序を設定するために使用でき、メッセージ内の画像はtrueであることがあります。
quickReplyScroll (bool) - クイック返信オプションが水平にスクロール可能である必要があります
quickReplyPadding (EdgeInsetSetsgeometry) - QuickReplyのパディング
inputDisabled (bool) - 入力テキストフィールドが無効になっている場合、デフォルトはfalseになります
messageDecorationBuilder (boxdecoration関数(Chatmessage、isuser) - メッセージコンテナの装飾をオーバーライドします。
DashChat (
...
messageDecorationBuilder : ( ChatMessage msg, bool isUser){
return BoxDecoration (
...
color : isUser ? Colors .red : Colors .blue, // example
...
);
},
...
);このプロジェクトが便利だと思った場合は、GitHubで€するまって、ソーシャルメディアを介して友達と共有することを検討してください。
APIの詳細については、DASH_CHAT.DARTを参照してください
機能を含めるための提案がある場合、または何かが機能しない場合は、GitHubの問題を自由に開いて、それについて説明してください。