dash_chat使用及方法

/// Flex value for the messeage container defaults to 1

  /// Made so that the message container takes as much as possible

  /// if no height or width is passed explicity

  final int messageContainerFlex;

  /// Height for the Dash chat Widget

  final double height;

  // Width for the Dash chat Widget

  final double width;

  /// List of messages to display in the chat container

  /// Takes a [List] of [ChatMessage]

  final List<ChatMessage> messages;

  /// If provided, this text editing controller will be used for

  /// the text input.

  final TextEditingController textController;

  /// If provided, this focus node will be used for the text input.

  final FocusNode focusNode;

  /// Use to change the direction of the text ltr is used for

  /// launguages that start from left like English &

  /// rtl is used for languages like Arabic

  ///

  /// Defaults to `TextDirection.ltr`

  final TextDirection inputTextDirection;

  /// If provided will stop using the default controller

  /// i.e [TextEditingController] and will use this to update the

  /// text input field.

  final String text;

  /// If the text parameter is passed then onTextChange must also

  /// be passed.

  final Function(String) onTextChange;

  /// Used to provide input decoration to the text as default only

  /// to the input placeholder for the chat input

  /// "Add Message here...".

  final InputDecoration inputDecoration;

  ///Configures how the platform keyboard will select an uppercase or lowercase keyboard.

  ///Only supports text keyboards, other keyboard types will ignore this configuration. Capitalization is locale-aware.

  ///Defaults to [TextCapitalization.none]. Must not be null.

  final TextCapitalization textCapitalization;

  /// Usually new message added by the user gets [Uuid] String

  /// Can be override by proving this parameter

  final String Function() messageIdGenerator;

  /// The current user object [ChatUser].

  final ChatUser user;

  /// To function where you can make api calls and play

  /// with the [ChatMessage] obeject before make calls.

  final Function(ChatMessage) onSend;

  /// Should the send button be always active it defaults to false

  /// Usually it will only become active if some text is entered.

  final bool alwaysShowSend;

  /// [DateFormat] object for formatting date to show in [MessageListView]

  /// defaults to `HH:mm:ss`.

  final DateFormat dateFormat;

  /// [DateFormat] object for formatting time to show in [MessageContainer]

  /// defaults to `yyyy-MM-dd`.

  final DateFormat timeFormat;

  /// Should the user avatar be shown defaults to false and will not

  /// show the user avatar.

  final bool showUserAvatar;

  /// avatarBuilder will override the the default avatar which uses

  /// [CircleAvatar].

  final Widget Function(ChatUser) avatarBuilder;

  /// Should the avatar be shown for every message defaulst to false.

  final bool showAvatarForEveryMessage;

  /// [onPressAvatar] function takes a function with this structure

  /// [Function(ChatUser)] will trigger when the avatar

  /// is tapped on

  final Function(ChatUser) onPressAvatar;

  /// [onLongPressAvatar] function takea a function with this structure

  /// [Function(ChatUser)] will trigger when the avatar

  /// is long pressed

  final Function(ChatUser) onLongPressAvatar;

  /// [onLongPressMessage] function takea a function with this structure

  /// [Function(ChatMessage)] will trigger when the message

  /// is long pressed.

  final Function(ChatMessage) onLongPressMessage;

  /// Should the messages be shown in reversed order.

  final bool inverted;

  /// messageBuilder will override the the default chat container which uses

  /// and you will need to build complete message Widget it will not accept

  /// and include any other builder functions.

  final Widget Function(ChatMessage) messageBuilder;

  /// messageTextBuilder will override the the default message text.

  final Widget Function(String) messageTextBuilder;

  /// messageImageBuilder will override the the default Image.

  final Widget Function(String url) messageImageBuilder;

  /// messageTimeBuilder will override the the default text.

  final Widget Function(String url) messageTimeBuilder;

  /// dateBuilder will override the the default time text.

  final Widget Function(String) dateBuilder;

  /// A Widget that will be shown below the [MessageListView] like you can

  /// show a "tying..." at the end.

  final Widget Function() chatFooterBuilder;

  /// Main input length of the input text box defaulst to no limit.

  final int maxInputLength;

  /// Used to parse text to make it linkified text uses

  /// [flutter_parsed_text](https://pub.dev/packages/flutter_parsed_text)

  /// takes a list of [MatchText] in order to parse Email, phone, links

  /// and can also add custom pattersn using regex

  final List<MatchText> parsePatterns;

  /// Provides a custom style to the message container

  /// takes [BoxDecoration]

  final BoxDecoration messageContainerDecoration;

  /// [List] of [Widget] to show before the [TextField].

  final List<Widget> leading;

  /// [List] of [Widget] to show after the [TextField].will remove the

  /// send button and will have to implement that yourself.

  final List<Widget> trailing;

  /// sendButtonBuilder will override the the default [IconButton].

  final Widget Function(Function) sendButtonBuilder;

  /// Style for the [TextField].

  final TextStyle inputTextStyle;

  /// [TextField] container style.

  final BoxDecoration inputContainerStyle;

  /// Max length of the input lines default to 1.

  final int inputMaxLines;

  /// Should the input cursor be shown defaults to true.

  final bool showInputCursor;

  /// Width of the text input defaults to 2.0.

  final double inputCursorWidth;

  /// Color of the input cursor defaults to theme.

  final Color inputCursorColor;

  /// ScrollController for the [MessageListView] will use the default

  /// scrollcontroller in the Widget.

  final ScrollController scrollController;

  /// A Widget that will be shown below the [ChatInputToolbar] like you can

  /// show a list of buttons like file image just like in Slack app.

  final Widget Function() inputFooterBuilder;

  /// Padding for the [MessageListView].

  final EdgeInsetsGeometry messageContainerPadding;

  /// Callback method when the quickReply was tapped on

  /// will pass [Reply] as a paramter to function.

  final Function(Reply) onQuickReply;

  /// Container style for the QuickReply Container [BoxDecoration].

  final BoxDecoration quickReplyStyle;

  /// [TextStyle] for QuickReply textstyle.

  final TextStyle quickReplyTextStyle;

  /// quickReplyBuilder will override the the default QuickReply Widget.

  final Widget Function(Reply) quickReplyBuilder;

  /// Should the [trailling] Widgets be shown before the send button

  /// As default it will be shown before the send button.

  final bool showTraillingBeforeSend;

  /// Should the scroll to bottom widget be shown

  /// default to true.

  final bool scrollToBottom;

  /// Overrides the default [scrollToBottomWidget] with a custom widget

  final Widget Function() scrollToBottomWidget;

  /// Override the default behaviour of the onScrollToBottom Widget

  final Function onScrollToBottomPress;

  /// Should the LoadEarlier Floating widget be shown or use

  /// load as you scroll scheme whcih will call the [onLoadEarlier]

  /// function as default it is set to this scheme which is false.

  /// false - load as you scroll scheme

  /// true - shows a loadEarlier Widget

  final bool shouldShowLoadEarlier;

  /// Override the default behaviour of the onScrollToBottom Widget

  final Widget Function() showLoadEarlierWidget;

  /// Override the default behaviour of the onLoadEarleir Widget

  /// or used as a callback when the listView reaches the top

  final Function onLoadEarlier;

  /// Padding for the default input toolbar

  /// by default it padding is set 0.0

  final EdgeInsets inputToolbarPadding;

  /// Margin for the default input toolbar

  /// by default it padding is set 0.0

  final EdgeInsets inputToolbarMargin;

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,442评论 0 13
  • NAME dnsmasq - A lightweight DHCP and caching DNS server....
    ximitc阅读 2,805评论 0 0
  • Introduction What is Bowtie 2? Bowtie 2 is an ultrafast a...
    wzz阅读 5,560评论 0 5
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,689评论 0 3
  • 意大利地处欧洲南部的亚平宁半岛,约有人口7600多万,绝大多数信奉天主教。自公元前753年罗马城兴建以来,罗马帝国...
    魔旅行阅读 701评论 0 1