Im-Kevin / cool_ui

用flutter实现一些我认为好看的UI控件,有Popover,仿Weui的Toast,自定义键盘
Apache License 2.0
460 stars 74 forks source link

CupertinoPopoverButton能支持自定义展开方向吗? #39

Closed lanistor closed 4 years ago

lanistor commented 4 years ago

我们场景:键盘上悬浮TextField,TextField旁边有CupertinoPopoverButton选项,操作CupertinoPopoverButton时遇到了和键盘弹起逻辑有冲突的问题。

如果键盘弹起时TextField失去焦点(正常逻辑),这时候键盘收起,组件下移,但是展开的起点还是键盘收起之前的,所以位置跑偏了;如果键盘弹起时TextField一直在聚焦状态,则键盘不会收起,但是这时候键盘上面的CupertinoPopoverButton展开方向会向下,所以被键盘挡住了。

感觉解决方案有2个:

  1. 识别键盘弹起,然后避开键盘
  2. 自定义展开方向(急需)

这个使用场景应该还挺多的。

Im-Kevin commented 4 years ago

可以截图看看吗

lanistor commented 4 years ago

正常键盘弹起状态

点击下拉菜单(使用CupertinoPopoverButton封装),TextField自动失去焦点

如果点击下拉菜单时,不让TextField失去焦点:

lanistor commented 4 years ago

@Im-Kevin 这个能支持吗?

Im-Kevin commented 4 years ago

0.5.5版本支持了自定义展开方向,但是键盘收起的问题目前暂时不处理,这个是因为我使用了Dialog,Dialog有自己的FocusScope导致的