build method
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 = '';
}
},
),
),
],
),
),
],
),
);
}