LinXunFeng / flutter_chat_packages

A collection of useful packages about chat.
https://www.fullstackaction.com/
48 stars 4 forks source link

表情盘到软键盘切换的时候的跳动 #2

Closed Junesui closed 2 months ago

Junesui commented 2 months ago

首先感谢开源。

拷贝了原example的代码,跑了一下,已经很不错了,但是和其它app(soul,小红书)比较时候发现如下问题,不知道能否改善。 测试系统:安卓。

1.打开键盘的时候,列表会滑动。 2.键盘和表情盘切换时候,列表会有一点滑动

ps:其实首页的提供的动图也有上述问题,不知道是否就是这样设计的。

https://github.com/user-attachments/assets/f9e305ee-f77a-42db-8399-e2bb068a7f09

Soul软件的: 列表始终没动,表情盘和键盘切换的时候很丝滑,表情盘好像在键盘后面藏着一样

https://github.com/user-attachments/assets/669b12a6-444f-42c7-ab60-4b1a441c830a

LinXunFeng commented 2 months ago

列表滑动问题

这很正常,因为列表是倒序,加上表情面板的高度跟键盘高度不相等。 你想实现键盘弹出时列表不动,可以将列表改回正序显示,或者跟 Soul 一样新开个透明页面去写评论即可。

抖动问题

先点开表情面板再切到键盘会抖动,这是因为此时不知道键盘高度导致的,你可以试试先弹出键盘,切到表情面板再切回键盘,来验证这个问题。

Junesui commented 2 months ago

感谢回复。close

LinXunFeng commented 1 month ago

请更新至 0.2.0 版本。

关于其它面板的高度与键盘高度一致

可以在示例中查看相关代码,关键代码如下

https://github.com/LinXunFeng/flutter_chat_packages/blob/6a526395b9037fdc6ff9710e45a5915627530ef4/packages/chat_bottom_container/example/lib/chat_page.dart#L172-L183

关于表情面板切到键盘抖动问题

本次版本新增了键盘高度记录,在记录完成后,再次首次从表情面板切到键盘时则不会出现抖动问题。 需要注意的是,首次安装使用该功能时,因为没有相关的高度记录,所以这个问题还是会遇到的,无法解决。