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