TextField
TextFieldウィジェットは、ユーザーが文字を入力する入力欄です。検索キーワード、名前、パスワードなどのテキスト入力に使用します。
備考
サンプルファイル: 07_Work_with_Widgets/textfield_objet.lfp
定義・役割
TextFieldウィジェットは、ユーザーがキーボードでテキストを入力する領域を描画します。入力が変わるとonChanged、送信するとonSubmittedなどの動作が実行されます。ヒントや枠線などの装飾、キーボードの種類、最大文字数、パスワードのマスクなどを設定できます。
- カテゴリー: Contents
機能
| 機能 | 説明 |
|---|---|
| テキスト入力 | ユーザーがキーボードで文字を入力し、入力時や送信時に動作を実行します。 |
| 入力の装飾 | ヒント文・ラベル・枠線など、入力欄の見た目をdecorationで設定します。 |
| 入力の制御 | キーボードの種類、最大文字数、複数行入力、読み取り専用、パスワードのマスクなどを設定します。 |
| スクリプト制御 | スクリプトからテキストを読み書きし、フォーカスを移動し、テキストの幅を測定できます。 |
使い方
- 左のウィジェットパレットでContentsカテゴリーを開きます。
- TextField項目をキャンバスにドラッグ&ドロップします。
decorationでヒント文や枠線などの見た目を設定します。onChanged(入力の変化)やonSubmitted(送信)などのイベントに、実行する動作を接続します。- 必要に応じて、キーボードの種類(
keyboardType)・最大文字数(maxLength)・パスワードのマスク(obscureText)などを調整します。
プロパティ
注記
以下は、Propertiesパネルを展開したときにすぐ表示される最上位のプロパティです。decorationやstyleのようなグループプロパティは、展開すると下位のオプションがあります。ここでは最上位の項目のみを扱います。
| プロパティ | 説明 | デフォルト値 | 値/タイプ |
|---|---|---|---|
text | 入力されたテキスト | 空の文字列 | 文字列 |
focusNode | 入力欄のフォーカスノード | 未指定 | フォーカスノード |
decoration | 入力の装飾(ヒント・ラベル・枠線など) | 未指定 | 入力の装飾 |
keyboardType | キーボードの種類 | 未指定 | キーボードタイプ |
textInputAction | キーボードのアクションボタン(完了/検索など) | 未指定 | キーボードアクション |
textCapitalization | 自動大文字化 | none | none, words, sentences, characters |
style | 文字のスタイル | 未指定 | テキストスタイル |
strutStyle | 行の高さなどのストラットスタイル | 未指定 | ストラットスタイル |
textAlign | テキストの整列 | start | left, right, center, justify, start, end |
textAlignVertical | 縦方向の整列位置 | 未指定 | 数値(-1.0~1.0) |
textDirection | テキストの方向 | 未指定 | rtl, ltr |
readOnly | 読み取り専用(入力不可) | オフ(false) | 真/偽 |
howCursor | カーソルの表示方式 - 現在のバージョンでは動作しません。 | オフ(false) | 真/偽 |
showCursor | カーソルを表示するかどうか | 未指定 | 真/偽 |
autofocus | 画面が開いたときに自動でフォーカス | オフ(false) | 真/偽 |
obscuringCharacter | マスク時に表示する文字 | • | 文字 |
obscureText | 入力のマスク(パスワード) | オフ(false) | 真/偽 |
autocorrect | 自動修正 | オン(true) | 真/偽 |
smartDashesType | スマートダッシュ入力 | 未指定 | disabled, enabled |
smartQuotesType | スマートクォート入力 | 未指定 | disabled, enabled |
enableSuggestions | 入力候補の表示 | オン(true) | 真/偽 |
maxLines | 最大行数 | 未指定(1行) | 整数 |
minLines | 最小行数 | 未指定 | 整数 |
expands | 親の高さを埋めるように拡張 | オフ(false) | 真/偽 |
maxLength | 最大文字数 | 未指定(制限なし) | 整数 |
maxLengthEnforcement | 最大文字数を超えたときの処理方式 | 未指定 | none, enforced, truncateAfterCompositionEnds |
inputFormatters | 入力形式の制限リスト | 未指定 | リスト |
enabled | 使用できるかどうか | 未指定(使用可能) | 真/偽 |
cursorWidth | カーソルの太さ | 2 | 数値 |
cursorHeight | カーソルの高さ | 未指定 | 数値 |
cursorRadius | カーソルの角の半径 | 未指定 | 半径 |
cursorColor | カーソルのカラー | 未指定 | カラー |
selectionHeightStyle | 選択領域の高さの基準 | tight | tight, max, includeLineSpacingMiddle, includeLineSpacingTop, includeLineSpacingBottom, strut |
selectionWidthStyle | 選択領域の幅の基準 | tight | tight, max |
keyboardAppearance | キーボードの明るさテーマ | 未指定 | dark, light |
scrollPadding | スクロール時に確保する余白 | 20 | 余白 |
dragStartBehavior | ドラッグ開始時の動作 | start | start, down |
enableInteractiveSelection | 選択(コピー・貼り付けなど)の許可 | 未指定 | 真/偽 |
mouseCursor | マウスカーソル | 未指定 | カーソル |
scrollController | スクロールコントローラー | 未指定 | スクロールコントローラー |
scrollPhysics | スクロールの動作方式 | 未指定 | スクロール方式 |
autofillHints | 自動入力ヒントのリスト | 未指定(空のリスト) | リスト |
clipBehavior | 領域からはみ出した部分の切り抜き方式 | hardEdge | none, hardEdge, antiAlias, antiAliasWithSaveLayer |
restorationId | 状態復元ID | 未指定 | 文字列 |
scribbleEnabled | Scribble(ペン入力)の使用 | オン(true) | 真/偽 |
enableIMEPersonalizedLearning | IME個人化学習の使用 | オン(true) | 真/偽 |
注意・ヒント
ヒント
パスワード入力欄ではobscureTextをオンにし、必要に応じてobscuringCharacterでマスク文字を変更します。
ヒント
複数行の入力が必要な場合はmaxLines(およびminLines)を増やします。親の高さを埋めたい場合はexpandsをオンにします。
さらに詳しく
ヒント
このウィジェットをスクリプトで制御するWidget Control(Property・Method・Event)の全体は、TextField Widget Controlドキュメントで確認してください。