我做了一个类似微信的聊天界面,我是把聊天气泡放在Listview中然后包裹一个Container,Textfield和ElevatedButton放在一个Row中再放在Align里,Align设置为下左,然后把Contanier和Align放在stack中。模拟器运行视图如下。
把Textfield中的maxlines设置成5行,当页面聊天气泡多了后,就会被Align组件挡住。一开始我直接设置了Container的Padding,但是当我在Textfield中输入多行后高度就起来了,就会挡住后面的Listview的聊天气泡。如下图所示。
如果把Listview包裹的Container的下Padding加大的话,在输入文字只有一行的时候又会显得边距太大。
想请教下有没有什么好的办法来解决这个问题。
我觉的你这么组合好像不是很合理.
你试试这样能不能解决你的问题
最外层是个Column,包含两个小组件,一个是用Expanded包裹住的ListView,ListView里面就放你的聊天记录气泡
另一个是包含Textfield和ElevatedButton的Row.
这样肯定会遮挡聊天消息气泡的,可以将TextField限制高度,或者在多行的时候将ListView的 padding bottom 更新
微信多行输入的时候,就是将ListView向上移动了