반응 신용 재능이있는 채팅에서 영감을 얻었습니다. 고도로 사용자 정의 가능하고 채팅 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) - Messeage 컨테이너 기본값 1 에 대한 플렉스 값height (이중) - 대시 채팅 위젯의 높이.width (이중) - 대시 채팅 위젯의 폭messages (목록) - 채팅에 표시 할 메시지 목록.text (string) - [선택적 매개 변수] 제공된 경우 기본 컨트롤러 사용이 중지됩니다.onTextChange (function (string)) - 텍스트 매개 변수가 전달되면 ontextChange도 전달해야합니다.inputDecoration (InputDecoration) - 텍스트에 입력 장식을 제공하는 데 사용됩니다.messageIdGenerator (String Function) - 일반적으로 사용자가 추가 한 새 메시지는 UUID에 의해 UUID V4 문자열 속도를 얻습니다.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) - 보내기 버튼이 항상 거짓으로 활성 기본값이어야합니다.
avatarMaxSize (double) - 기본 아바타의 최대 크기를 설정하고 기본값은 30.0 입니다.
dateFormat (dateformat)-렌더링 날짜 기본값은 yyyy-MM-dd 입니다.
timeFormat (dateformat) - 렌더링 시간 기본값은 HH:mm:ss 입니다.
showUserAvatar (bool) - 사용자 아바타를 보여 주어야합니다.
showAvatarForEveryMessage (bool) - 모든 메시지 기본값에 대해 아바타를 표시해야합니다.
onPressAvatar (function (Chatuser)) - 콜백 기능 아바타가 탭 될 때.
onLongPressAvatar (function (Chatuser)) - 콜백 기능 아바타가 오랫동안 눌렀을 때.
onLongPressMessage (function (chatuser)) - 콜백 기능 메시지가 오래 눌렀을 때.
inverted (bool) - 메시지가 반전 된 순서로 표시되면
avatarBuilder (위젯 함수 (Chatuser)) - 기본 아바타를 무시합니다.
messageBuilder (위젯 함수 (chatmessage)) - 기본 메시지 위젯을 무시합니다.
messageTextBuilder (위젯 함수 (String)) - 기본 메시지 텍스트 위젯을 무시합니다.
messageImageBuilder (위젯 함수 (String)) - 기본 메시지 imaeg 위젯을 재정의합니다.
messageTimeBuilder (위젯 함수 (String)) - 기본 메시지 시간 위젯을 무시합니다.
dateBuilder (위젯 함수 (String)) - 기본 채팅보기 날짜 위젯을 무시합니다.
sendButtonBuilder (위젯 함수 (function)) - 기본 전송 버튼 위젯을 무시합니다.
chatFooterBuilder (위젯 함수) - 끝에 "묶는 ..."텍스트 위젯과 마찬가지로 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 으로 Trailling 위젯이 표시되어야합니다.
inputTextStyle (TextStyle) - 텍스트 필드 스타일.
inputContainerStyle (BoxDecoration) - 텍스트 필드 컨테이너 스타일.
inputMaxLines (int) - 입력 라인의 최대 길이 기본값은 1입니다.
showInputCursor (bool) - 입력 커서가 기본값을 true로 표시해야합니다.
inputCursorWidth (double) - 텍스트 입력 기본값의 너비는 2.0입니다.
inputCursorColor (색상) - 입력 커서의 색상은 테마로 기본적으로 기본값을 제공합니다.
scrollController (ScrollController) - MessageListView의 스크롤 콘트롤러.
messageContainerPadding (EdgeInsetSgeometry) - MessageListView의 패딩.
messagePadding (EdgeInsets) - MessageContainer를위한 패딩.
onQuickReply (Funtion (Reply)) - QuickReply가 탭되었을 때 콜백 메소드.
quickReplyStyle (BoxDecoration) - QuickReply 컨테이너 용 컨테이너 스타일.
quickReplyTextStyle (TextStyle) - QuickReply 텍스트 스타일.
quickReplyBuilder (위젯 함수 (답장)) - 기본 QuickReply 위젯을 무시합니다.
scrollToBottom (bool) - 스크롤에서 하단 위젯에서 true 을 표시해야합니다.
scrollToBottomStyle (Scrolltobottomstyle) - Scrolltobottom 위젯의 스타일 및 위치를 설정합니다.
scrollToBottomWidget (widget function ()) - 사용자 정의 위젯으로 기본 Scrolltobottomwidget을 대체합니다.
onScrollToBottomPress (function) - onscrolltobottom 위젯의 기본 동작을 무시합니다.
shouldShowLoadEarlier (bool) - 스크롤 스크롤 스크롤로 하중 부유물 위젯이 표시되거나로드를 사용하면 onloadearlier 기본값을 False로 호출 할 때로드를 사용하면이 체계입니다.
showLoadEarlierWidget (Widget function ()) - onscrolltobottom 위젯의 기본 동작을 무시합니다.
onLoadEarlier (function) - OnloadeARleir 위젯의 기본 동작을 무시하거나 ListView가 상단에 도달 할 때 콜백으로 사용됩니다.
inputToolbarPadding (EdgeInsets) - 입력 도구 모음에 패딩을 추가하는 데 사용될 수 있습니다.
inputToolbarMargin (EdgeInsets) - 입력 도구 모음에 마진을 추가하는 데 사용될 수 있습니다.
BOOL ( shouldStartMessagesFromTop ) - 기본 하단 대신 상단에서 하단으로 시작되도록 메시지를 정렬하는 데 사용될 수 있습니다.
textBeforeImage (BOOL) - 메시지의 순서와 메시지 내부의 이미지를 true 으로 설정하는 데 사용될 수 있습니다.
quickReplyScroll (bool) - 빠른 답장 옵션이 가로 스크롤 가능해야합니다.
quickReplyPadding (EdgeInsetSgeometry) - QuickReply를위한 패딩
inputDisabled (bool) - 입력 텍스트 필드가 비활성화되면 기본값으로 false
messageDecorationBuilder (BoxDecoration Function (ChatMessage, ISUSER) - 메시지 컨테이너 장식을 무시합니다.
DashChat (
...
messageDecorationBuilder : ( ChatMessage msg, bool isUser){
return BoxDecoration (
...
color : isUser ? Colors .red : Colors .blue, // example
...
);
},
...
);이 프로젝트가 유용하다는 것을 알게되면 Github에 대한 ️를 제공하고 소셜 미디어를 통해 친구들과 공유하는 것을 고려하십시오.
자세한 API 세부 사항은 Dash_chat.dart를 참조하십시오
기능을 포함 시키거나 기능이 작동하지 않으면 GitHub 문제를 열어 주시기 위해 논의를 할 수 있습니다.