落書きテキスト入力クライアント
まとめ
3つのメソッドを追加します。showToolbar
、insertTextPlaceholder
、 とremoveTextPlaceholder
にTextInputClient
iOS 14を許可するインターフェース
テキスト プレースホルダーを挿入および削除し、ツールバーを表示する落書き機能。
コンテクスト
iOS 14 以降、iPad は Apple Pencil を使用する際の Scribble 機能をサポートします。 この機能により、ユーザーは鉛筆を使用してテキスト フィールドを操作し、 テキストを追加、削除、選択、および変更します。
変更内容の説明
ネイティブ テキスト ウィジェットでは、ユーザーが鉛筆を使用するとテキスト ツールバーが表示されます。
iOS 14 以降を実行している iPad でテキストを選択するには。
この動作を再現するために、プラットフォームはtextInput
チャンネルメッセージ
呼ばれたTextInputClient.showToolbar
。
これにより、ツールバーを表示する必要があることが Dart コードに通知されます。
ユーザーが鉛筆を押し続けると、テキストに視覚的なギャップが表示され、
ユーザーが書き込むための追加スペース。
この動作を再現するために、プラットフォームはtextInput
チャンネルメッセージ
呼ばれたTextInputClient.insertTextPlaceholder
とTextInputClient.removeTextPlaceholder
。
複数行のテキスト入力には、垂直方向のスペースを提供するプレースホルダーが必要です。
一方、単一行入力では水平方向のスペースを確保する必要があります。
移行ガイド
以前に実装していた場合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 ドキュメント:
TextInputClient
関連する問題:
- 問題 61278
関連する PR:
- 24224: 落書き手書きのサポート (エンジン)
- 75472: 落書き手書きのサポート
- 97437: 再着陸サポート落書き手書き