diff --git a/lib/controller/message/chat_controller.dart b/lib/controller/message/chat_controller.dart index 6aafcc9..98473b4 100644 --- a/lib/controller/message/chat_controller.dart +++ b/lib/controller/message/chat_controller.dart @@ -53,6 +53,7 @@ class ChatController extends GetxController { if (message != null) { // 发送成功后将消息添加到列表开头 messages.insert(0, message); + update(); return true; } return false; diff --git a/lib/pages/message/chat_page.dart b/lib/pages/message/chat_page.dart index d1c89a6..a1749e3 100644 --- a/lib/pages/message/chat_page.dart +++ b/lib/pages/message/chat_page.dart @@ -49,6 +49,12 @@ class ChatPage extends StatelessWidget { Expanded( child: Container( color: Color(0xffF5F5F5), + child: GestureDetector( + onTap: () { + // 点击消息区域收起键盘 + FocusManager.instance.primaryFocus?.unfocus(); + }, + behavior: HitTestBehavior.opaque, child: ListView.builder( reverse: true, padding: EdgeInsets.all(16.w), @@ -56,7 +62,7 @@ class ChatPage extends StatelessWidget { itemBuilder: (context, index) { final message = controller.messages[index]; final isSentByMe = message.direction == MessageDirection.SEND; - // 获取上一条消息(如果存在) + final previousMessage = index > 0 ? controller.messages[index - 1] : null; return MessageItem( @@ -67,6 +73,7 @@ class ChatPage extends StatelessWidget { }, ), ), + ), ), // 使用抽离的聊天输入栏组件 ChatInputBar(