【问题标题】:How do widgets cover keyboard in flutter小部件如何在颤动中覆盖键盘
【发布时间】:2018-10-19 07:51:51
【问题描述】:

我想要一个小部件在颤动中覆盖键盘,就像 Telegram 中的录音按钮。

我尝试了一些方法,但是小部件被键盘裁剪了。

【问题讨论】:

  • 你是将你的颤振添加为一个模块还是你有一个 100% 颤振的项目?
  • 我有 100% 的颤振项目。我不希望我的小部件被键盘裁剪

标签: flutter


【解决方案1】:

如果您正在构建一个 100% 的颤振项目,我认为这是不可能的。 或者,您可以混合使用 Flutter 和 iOS 来实现这一点。

这就是为什么我认为你不能只用颤振来做到这一点:

要在 iOS 端的键盘上添加一些东西,您需要访问 windows 数组并在 last 窗口上添加您的自定义视图,从而确保它位于 最顶部的 UI (键盘):

var customView = UIView(frame: CGRect(x: 0, y: self.view.frame.size.height-300, width: self.view.frame.size.width, height: 300))
customView.backgroundColor = UIColor.redColor()
customView.layer.zPosition = CGFloat(MAXFLOAT)
var windowCount = UIApplication.sharedApplication().windows.count
UIApplication.sharedApplication().windows[windowCount-1].addSubview(customView);

您的“100% 颤振”将无法访问上述资源。


为了拥有这个功能,我会让 iOS 项目稍微协调一下情况。

例如:

让你的颤振实现路径和通道。

保留当前 Flutter 实现的主要路径。

为应该在键盘上的视图/小部件添加一个新路径。

iOS 端应该通过通道来协调两个 Flutter 实例。通知 iOS 端何时应显示/删除视图/小部件(如果需要,还可以添加其他内容,例如用户点击自定义的新视图/小部件)。

【讨论】:

  • 感谢您的详细回复!我同意你的看法。要实现这一点,它必须依赖本机代码。
  • 我很乐意提供帮助:)
猜你喜欢
  • 2021-06-27
  • 2019-10-29
  • 2021-07-12
  • 2011-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多