Inspirado por bate-papo reagir-nativo. Altamente personalizável e ajuda a desenvolver mais rápido interface do usuário de bate -papo.
Para usar este pacote, adicione dash_chat como uma dependência no seu arquivo pubSpec.yaml.
Exemplo, mensagem de bate -papo
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" ,
);exemplo, mensagem de bate -papo com respostas rápidas
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) - Valor flexível para os padrões de contêiner de mensagens para 1height (dupla) - altura para o widget de bate -papo do painel.width (dupla) - Largura para o widget Dash Chat.messages (lista) - Lista de mensagens a serem exibidas no bate -papo.text (String) - [Parâmetro opcional] se fornecido parará de usar o controlador padrão.onTextChange (função (String)) - Se o parâmetro de texto for passado, o OntextChange também deverá ser passado.inputDecoration (InputDecoration) - usado para fornecer decoração de entrada ao texto.messageIdGenerator (função String) - Normalmente, a nova mensagem adicionada pelo usuário obtém o Uuid V4 String Generater pelo UUID.user (ChatUser) - o objeto de usuário atual. DashChat (
user : ChatUser (
name : "Jhon Doe" ,
uid : "xxxxxxxxx" ,
avatar : "https://www.wrappixel.com/ampleadmin/assets/images/users/4.jpg" ,
)
); onSend (função (chatmessage)) - retorno de chamada ao enviar uma mensagem.
alwaysShowSend (bool) - o botão de envio for sempre ativo padrão para false.
avatarMaxSize (DUPLE) - Define o tamanho máximo do Avatar padrão, o padrão é 30.0 .
dateFormat (DATEFORMAT)-Formato a ser usado para renderizar a data de inadimplência é yyyy-MM-dd .
timeFormat (DateFormat) - Formato a ser usado para renderizar o padrão é HH:mm:ss .
showUserAvatar (BOOL) - Caso o avatar do usuário seja mostrado.
showAvatarForEveryMessage (BOOL) - O avatar deve ser mostrado para todos os padrões de mensagens como false.
onPressAvatar (função (chatuser)) - Função de retorno de chamada quando o avatar é tocado.
onLongPressAvatar (função (chatuser)) - Função de retorno de chamada quando o Avatar é pressionado há muito tempo.
onLongPressMessage (função (chatuser)) - Função de retorno de chamada quando a mensagem é pressionada há muito tempo.
inverted (bool) - as mensagens devem ser mostradas em ordem invertida
avatarBuilder (função do widget (chatuser)) - substituirá o avatar padrão.
messageBuilder (função do widget (chatmessage)) - substituirá o widget da mensagem padrão.
messageTextBuilder (função do widget (String)) - substituirá o widget de texto da mensagem padrão.
messageImageBuilder (função do widget (String)) - substituirá a mensagem padrão IMAEG Widget
messageTimeBuilder (função do widget (String)) - substituirá o widget do tempo de mensagem padrão.
dateBuilder (função do widget (string)) - substituirá o widget de data de visualização de bate -papo padrão.
sendButtonBuilder (função do widget (função)) - substituirá o widget de botão de envio padrão.
chatFooterBuilder (função do widget) - Um widget que será mostrado abaixo do widget de texto Messagelist como você pode um widget de texto "amarrar ..." no final.
inputFooterBuilder (função do widget) - Um widget que será mostrado abaixo do chatinputToolBar.
maxInputLength (int) - Comprimento de entrada principal da caixa de texto de entrada defesa sem limite.
parsePatterns (list) - usado para analisar o texto para fazer um texto vinculado usa 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) - fornece um estilo personalizado para o contêiner de mensagens.
leading (LIST <widget>) - Lista de widgets a ser exibida antes do campo de texto.
trailing (lista <widget>) - Lista de widget a ser exibida após o campo de texto remover o botão Enviar.
readOnly (BOOL) - esconde a barra de entrada, padrão para false .
showTraillingBeforeSend - Os widgets de trailing devem ser mostrados antes dos padrões de envio os padrões para true .
inputTextStyle (TextStyle) - estilo para o campo de texto.
inputContainerStyle (BoxDecoration) - Estilo de contêiner de campo de texto.
inputMaxLines (int) - Comprimento máximo das linhas de entrada Padrão para 1.
showInputCursor (BOOL) - Caso o cursor de entrada seja mostrado padrão para true.
inputCursorWidth (Double) - Largura do texto Padrões de entrada para 2.0.
inputCursorColor (Color) - Cor do cursor de entrada padrão do tema.
scrollController (scrollController) - scrollController para o messagelistView.
messageContainerPadding (EdgeinsetsGeometria) - preenchimento para o MessagelistView.
messagePadding (EdgeInsets) - preenchimento para o MessageContainer.
onQuickReply (Função (Responder)) - Método de retorno de chamada quando o rápido foi tocado.
quickReplyStyle (BoxDecoration) - Estilo de contêiner para o contêiner QuickReply.
quickReplyTextStyle (TextStyle) - Estilo de texto rápido.
quickReplyBuilder (função do widget (resposta)) - substituirá o widget rápido padrão.
scrollToBottom (BOOL) - Se o widget de rolagem para o fundo for mostrado padrões para true .
scrollToBottomStyle (scrollTobottomstyle) - define o estilo e a posição do widget scrollTobottom.
scrollToBottomWidget (função widget ()) - substitui o scrollTobottomwidget padrão com um widget personalizado.
onScrollToBottomPress (função) - Substitua o comportamento padrão do widget onScrolLTobottom.
shouldShowLoadEarlier (BOOL) - Se o widget flutuante do loadearlier for mostrado ou use carregamento à medida que você rolam o esquema de que chamarão os padrões de Onloadarlier para false, que é esse esquema.
showLoadEarlierWidget (Widget function ()) - Substitua o comportamento padrão do widget onScrolLTobottom.
onLoadEarlier (função) - Substitua o comportamento padrão do widget Onloadarleir ou usado como retorno de chamada quando o ListView chegar à parte superior.
inputToolbarPadding (Edgeinsets) - pode ser usado para adicionar preenchimento à barra de ferramentas de entrada.
inputToolbarMargin (Edgeinsets) - pode ser usado para adicionar margem à barra de ferramentas de entrada.
shouldStartMessagesFromTop (BOOL) - pode ser usado para alinhar mensagens, para que ele comece de cima para baixo, em vez da parte inferior padrão para cima.
textBeforeImage (BOOL) - Pode ser usado para definir a ordem do texto e a imagem dentro de uma mensagem padrão como true .
quickReplyScroll (bool) - As opções de resposta rápida devem ser roláveis horizontalmente
quickReplyPadding (EdgeInsetsgeometria) - preenchimento para o QuickReply
inputDisabled (bool) - Caso o campo de texto de entrada seja desativado, padrão para false
messageDecorationBuilder (Função BoxDecoration (Chatmessage, Isuser) - Substitua a decoração de contêiner de mensagens. [Nota: Isso substituirá a MessagEContainerDecoration]
DashChat (
...
messageDecorationBuilder : ( ChatMessage msg, bool isUser){
return BoxDecoration (
...
color : isUser ? Colors .red : Colors .blue, // example
...
);
},
...
);Se você achou esse projeto útil, considere dar -lhe umri no Github e compartilhá -lo com seus amigos através das mídias sociais.
Veja o Dash_Chat.Dart para obter mais detalhes da API
Se você tiver alguma sugestão para incluir um recurso ou se algo não funcionar, sinta -se à vontade para abrir um problema do Github para que tenhamos uma discussão sobre ele.