Scribble 文本输入客户端
摘要
#向 TextInputClient
接口添加了三个方法,showToolbar
、insertTextPlaceholder
和 removeTextPlaceholder
,以允许 iOS 14 Scribble 功能插入和删除文本占位符并显示工具栏。
上下文
#从 iOS 14 开始,iPad 在使用 Apple Pencil 时支持 Scribble 功能。此功能允许用户使用触控笔与文本字段交互,以添加、删除、选择和修改文本。
更改说明
#在原生文本小部件中,当用户使用触控笔在运行 iOS 14 或更高版本的 iPad 上选择文本时,会显示文本工具栏。为了复制此行为,平台会发送名为 TextInputClient.showToolbar
的 textInput
通道消息。这会通知 Dart 代码应显示工具栏。
当用户按住触控笔时,文本中会显示一个视觉间隙,以允许用户有额外的空间进行书写。为了复制此行为,平台会发送名为 TextInputClient.insertTextPlaceholder
和 TextInputClient.removeTextPlaceholder
的 textInput
通道消息。多行文本输入应具有提供垂直空间的占位符,而单行输入应提供水平空间。
迁移指南
#如果您之前已实现 TextEditingClient
,则必须覆盖 showToolbar
、insertTextPlaceholder
和 removeTextPlaceholder
以支持这些 Scribble 功能或提供空实现。
要迁移,请实现 showToolbar
、insertTextPlaceholder
和 removeTextPlaceholder
。
迁移前代码
class MyCustomTextInputClient implements TextInputClient {
...
}
迁移后代码
class MyCustomTextInputClient implements TextInputClient {
...
@override
void showToolbar() {
...
}
@override
void insertTextPlaceholder(Size size) {
...
}
@override
void removeTextPlaceholder() {
...
}
}
时间线
#包含在版本中:2.9.0-1.0.pre
稳定版发布:2.10
参考
#API 文档
相关问题
相关 PR
除非另有说明,否则本网站上的文档反映了 Flutter 的最新稳定版本。页面最后更新于 2024-04-04。 查看源代码 或 报告问题.