build method

  1. @override
Widget build(
  1. BuildContext context
)
override

MessageBar builder method

Implementation

@override
Widget build(BuildContext context) {
  return Align(
    alignment: Alignment.bottomCenter,
    child: Column(
      mainAxisAlignment: MainAxisAlignment.end,
      children: [
        replying
            ? Container(
                color: replyWidgetColor,
                padding: const EdgeInsets.symmetric(
                  vertical: 8,
                  horizontal: 16,
                ),
                child: Row(
                  children: [
                    Icon(
                      Icons.reply,
                      color: replyIconColor,
                      size: 24,
                    ),
                    Expanded(
                      child: Text(
                        'Re : $replyingTo',
                        overflow: TextOverflow.ellipsis,
                      ),
                    ),
                    InkWell(
                      onTap: onTapCloseReply,
                      child: Icon(
                        Icons.close,
                        color: replyCloseColor,
                        size: 24,
                      ),
                    ),
                  ],
                ))
            : Container(),
        replying
            ? Container(
                height: 1,
                color: Colors.grey.shade300,
              )
            : Container(),
        Container(
          color: messageBarColor,
          padding: const EdgeInsets.symmetric(
            vertical: 8,
            horizontal: 16,
          ),
          child: Row(
            children: <Widget>[
              ...actions,
              Expanded(
                child: TextField(
                  controller: _textController,
                  keyboardType: messageBarStyle.keyboardType,
                  textCapitalization: messageBarStyle.textCapitalization,
                  minLines: messageBarStyle.minLines,
                  maxLines: messageBarStyle.maxLines,
                  onChanged: onTextChanged,
                  style: textFieldTextStyle,
                  decoration: InputDecoration(
                    hintText: messageBarHintText,
                    hintMaxLines: 1,
                    contentPadding: messageBarStyle.contentPadding,
                    hintStyle: messageBarHintStyle,
                    fillColor: messageBarStyle.fillColor,
                    filled: true,
                    enabledBorder: messageBarStyle.enabledBorder,
                    focusedBorder: messageBarStyle.focusedBorder,
                  ),
                ),
              ),
              Padding(
                padding: const EdgeInsets.only(left: 16),
                child: InkWell(
                  child: sendButton ??
                      Icon(
                        Icons.send,
                        color: sendButtonColor,
                        size: 24,
                      ),
                  onTap: () {
                    if (_textController.text.trim() != '') {
                      if (onSend != null) {
                        onSend!(_textController.text.trim());
                      }
                      _textController.text = '';
                    }
                  },
                ),
              ),
            ],
          ),
        ),
      ],
    ),
  );
}