مستوحاة من القطع الموهبة في موهبة. قابلة للتخصيص للغاية ويساعد على تطوير واجهة مستخدم الدردشة بشكل أسرع.
لاستخدام هذه الحزمة ، أضف dash_chat كاعتماد في ملف pubspec.yaml الخاص بك.
مثال ، رسالة الدردشة
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) - قيمة مرنة لاقتصاد حاوية messeage إلى 1height (مزدوج) - الارتفاع لعنصر دردشة DASH.width (مزدوج) - عرض لعنصر دردشة DASH.messages (قائمة) - قائمة الرسائل التي يجب عرضها في الدردشة.text (String) - [المعلمة الاختيارية] إذا تم توفيره سيتوقف باستخدام وحدة التحكم الافتراضية.onTextChange (وظيفة (سلسلة)) - إذا تم تمرير المعلمة النص ، فيجب تمرير ontextchange أيضًا.inputDecoration (InputDecoration) - يستخدم لتوفير زخرفة الإدخال للنص.messageIdGenerator (وظيفة السلسلة) - عادةً ما يتم إضافته رسالة جديدة من قبل المستخدم على uuid v4 سلسلة من uuid.user (chatuser) - كائن المستخدم الحالي. DashChat (
user : ChatUser (
name : "Jhon Doe" ,
uid : "xxxxxxxxx" ,
avatar : "https://www.wrappixel.com/ampleadmin/assets/images/users/4.jpg" ,
)
); onSend (وظيفة (chatmessage)) - رد الاتصال عند إرسال رسالة.
alwaysShowSend (BOOL) - يجب أن يكون زر الإرسال دائمًا نشطًا إلى الافتراضات الخاطئة.
avatarMaxSize (مزدوج) - يعين حجم أقصى Devault Avatar ، الافتراضي هو 30.0 .
dateFormat (DateFormat)-تنسيق لاستخدامه لتقديم تاريخ التقديم الافتراضي هو yyyy-MM-dd .
timeFormat (DateFormat) - تنسيق لاستخدامه في تقديم الوقت الافتراضي هو HH:mm:ss .
showUserAvatar (Bool) - يجب عرض الصورة الرمزية للمستخدم.
showAvatarForEveryMessage (bool) - يجب أن يتم عرض الصورة الرمزية لكل رسالة افتراضية إلى False.
onPressAvatar (وظيفة (Chatuser)) - الترفيه رد الاتصال عند استغلال الصورة الرمزية.
onLongPressAvatar (وظيفة (Chatuser)) - الترفيه رد الاتصال عندما يتم الضغط على الصورة الرمزية.
onLongPressMessage (وظيفة (Chatuser)) - الترفيه رد الاتصال عندما يتم الضغط على الرسالة منذ فترة طويلة.
inverted (منطقي) - في حالة عرض الرسائل بترتيب عكسي
avatarBuilder (وظيفة القطعة (Chatuser)) - سوف يتجاوز الصورة الرمزية الافتراضية.
messageBuilder (وظيفة القطعة (ChatMessage)) - سوف يتجاوز عنصر واجهة الرسائل الافتراضية.
messageTextBuilder (وظيفة القطعة (السلسلة)) - سوف يتجاوز عنصر واجهة المستخدم النص الافتراضية.
messageImageBuilder (وظيفة عنصر واجهة المستخدم (سلسلة)) - سوف يتجاوز الرسالة الافتراضية imaeg عنصر واجهة المستخدم
messageTimeBuilder (وظيفة القطعة (سلسلة)) - سوف يتجاوز عنصر واجهة المستخدم وقت الرسالة الافتراضية.
dateBuilder (وظيفة القطعة (السلسلة)) - سوف يتغلب على أداة تاريخ عرض الدردشة الافتراضية.
sendButtonBuilder (وظيفة القطعة (وظيفة)) - سوف يتجاوز عنصر الزر "إرسال الافتراضي".
chatFooterBuilder (وظيفة القطعة) - عنصر واجهة مستخدم يتم عرضه أسفل MessagelistView كما يمكنك "ربط ..." عنصر واجهة نصية في النهاية.
inputFooterBuilder (وظيفة القطعة) - عنصر واجهة مستخدم يتم عرضه أسفل chatinputtoolbar.
maxInputLength (int) - طول الإدخال الرئيسي لمربع نص الإدخال ينقسم إلى عدم وجود حد.
parsePatterns (قائمة) - يستخدم لتحليل النص لإنشاء نص مرتبط يستخدم 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 (القائمة <Idget>) - قائمة عنصر واجهة المستخدم لإظهارها قبل Textfield.
trailing (قائمة <IDGET>) - قائمة عنصر واجهة مستخدم للعرض بعد أن تقوم Textfield بإزالة زر الإرسال.
readOnly (bool) - يخفي شريط الإدخال ، والافتراضيات إلى false .
showTraillingBeforeSend - إذا تم عرض أجهزة تريلينغ قبل أن تتخلف الزر الافتراضي إلى true .
inputTextStyle (TextStyle) - نمط لنص Textfield.
inputContainerStyle (BoxDecoration) - نمط حاوية Textfield.
inputMaxLines (int) - الحد الأقصى لخطوط الإدخال الافتراضية إلى 1.
showInputCursor (Bool) - إذا تم عرض مؤشر الإدخال الافتراضيات إلى True.
inputCursorWidth (مزدوج) - عرض إدخال النص الافتراضي إلى 2.0.
inputCursorColor (Color) - لون مؤشر الإدخال الافتراضي للموضوع.
scrollController (ScrollController) - ScrollController لـ MessagelistView.
messageContainerPadding (EdgeinSetSgeometry) - حشوة لـ MessagelistView.
messagePadding (EdgeInsets) - حشوة لـ MessageContainer.
onQuickReply (الترابة (الرد)) - طريقة رد الاتصال عندما تم استغلال Quickreply.
quickReplyStyle (BoxDecoration) - نمط الحاوية للحاوية QuickReply.
quickReplyTextStyle (TextStyle) - نمط النص QuickReply.
quickReplyBuilder (وظيفة القطعة (الرد)) - سوف يتجاوز عنصر واجهة المستخدم الافتراضية QuickReply.
scrollToBottom (BOOL) - إذا تم عرض التمرير إلى أسفل عنصر واجهة المستخدم الافتراضية إلى true .
scrollToBottomStyle (ScrollTobottomStyle) - يضع أسلوب وموضع أداة ScrollTobottom.
scrollToBottomWidget (وظيفة القطعة ()) - يتجاوز ScrollTobottomWidget الافتراضي مع عنصر واجهة مستخدم مخصصة.
onScrollToBottomPress (وظيفة) - تجاوز السلوك الافتراضي لعنصر واجهة المستخدم onscrolltobottom.
يجب shouldShowLoadEarlier (Bool) - إذا تم عرض عنصر واجهة المستخدم العائمة المحملة أو استخدام التحميل أثناء تمرير مخطط Whicih ، فسيقوم بتسمية التخلف عن السداد إلى False وهو هذا المخطط.
showLoadEarlierWidget (وظيفة القطعة ()) - تجاوز السلوك الافتراضي لعنصر واجهة المستخدم OnScrollTobottom.
onLoadEarlier (الوظيفة) - تجاوز السلوك الافتراضي لعناية onloadearleir أو استخدامها كرد اتصال عندما تصل ListView إلى الأعلى.
inputToolbarPadding (Edgeinsets) - يمكن استخدامه لإضافة حشوة إلى شريط أدوات الإدخال.
inputToolbarMargin (Edgeinsets) - يمكن استخدامه لإضافة الهامش إلى شريط أدوات الإدخال.
يجب استخدام shouldStartMessagesFromTop (BOOL) - لمحاذاة الرسائل بحيث يبدأ من أعلى إلى أسفل بدلاً من القاع الافتراضي إلى الأعلى.
textBeforeImage (Bool) - يمكن استخدامه لتعيين ترتيب النص والصورة داخل رسالة افتراضية إلى true .
quickReplyScroll (Bool) - إذا كانت خيارات الرد السريع قابلة للتمرير أفقيًا
quickReplyPadding (EdgeInsetSgeometry) - حشوة من أجل QuickReply
inputDisabled (Bool) - إذا تم تعطيل حقل Textfield الإدخال ، فالأشخاص الافتراضي إلى false
messageDecorationBuilder (وظيفة boxdecoration (ChatMessage ، Isuser) - تجاوز زخرفة حاوية الرسائل. [ملاحظة: سيتجاوز هذا messageContainerDecoration]
DashChat (
...
messageDecorationBuilder : ( ChatMessage msg, bool isUser){
return BoxDecoration (
...
color : isUser ? Colors .red : Colors .blue, // example
...
);
},
...
);إذا وجدت هذا المشروع مفيدًا ، فيرجى التفكير في منحه على Github ومشاركته مع أصدقائك عبر وسائل التواصل الاجتماعي.
انظر DASH_CHAT.DART لمزيد من تفاصيل API
إذا كان لديك أي اقتراح لإدراج ميزة أو إذا لم ينجح شيء ما ، فلا تتردد في فتح مشكلة github لنا لإجراء مناقشة عليها.