Jetpack
androidx.compose.material3
ライブラリを使用して、ユーザーが任意の TextField
コンポーネントに
タッチペンを使うアプリでも使えます
デフォルトでタッチペン入力を有効にするには、ライブラリの依存関係をアプリの
build.gradle
ファイル:
Kotlin
dependencies { implementation("androidx.compose.foundation:foundation:LATEST_COMPOSE_VERSION") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "LATEST_EXTENSION_VERSION" } kotlinOptions { jvmTarget = "LATEST_JVM_VERSION" } }
Groovy
dependencies { implementation 'androidx.compose.foundation:foundation:LATEST_COMPOSE_VERSION' } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = 'LATEST_EXTENSION_VERSION' } kotlinOptions { jvmTarget = 'LATEST_JVM_VERSION' } }
TextField
すべての TextField
コンポーネントで、タッチペンでの手書き入力がデフォルトで有効になります。
Android 14 以降および
androidx.compose.foundation:foundation:1.7.0
学びます。タッチペンを動かすと、TextField
の手書き入力モードが開始されます
コンポーネントの手書き入力境界内で検出されます。
手書き入力の境界には、垂直方向のパディング 40 dp、水平方向のパディング 10 dp が含まれます。 パディングされます。
![タッチペンのモーション イベントの検出範囲を示す周囲四角形を入力フィールド。](https://developer.android.com/static/images/develop/ui/compose/touch-input/stylus-input/shared/edittext_handwriting_bounds.png?authuser=3&hl=ja)
TextField
コンポーネントの手書き入力境界。
入力方法の場合、TextField
フィールドでタッチペンによる手書き入力はサポートされていません
エディタは KeyboardType.Password
でリクエストされます。
入力の委任
アプリは、テキスト入力フィールドのように見えるプレースホルダ UI 要素を表示できますが、 実際には、テキスト入力機能のない静的な UI 要素です。検索 一般的な例です。静的な UI 要素をタップすると遷移がトリガーされる 入力用にフォーカスされた機能的テキスト入力フィールドを含む新しい UI です。
タッチペン入力の委任
手書き入力委任 API を使用して、タッチペンの手書き入力をサポートする
プレースホルダの入力フィールド(handwritingDetector
と
handwritingHandler
)。プレースホルダの UI 要素は
手書き入力を機能の入力フィールドに委任するように設定されています。例
については、以下をご覧ください。
HandwritingDetectorSample.kt
。
ファンクショナル入力フィールドにフォーカスが移り、タッチペン手書き入力モードが開始する
が、
InputConnection
。
テスト
タッチペンでの手書き入力は、以下を搭載した Android 14 以降のデバイスでサポートされています。 対応するタッチペン入力デバイスと入力方法 エディタ(IME)が起動され、 Android 14 のタッチペン手書き API をサポートしています。
タッチペン入力デバイスがない場合は、任意のデバイスでタッチペン入力をシミュレートします 次の Android Debug Bridge を使用して、root アクセス権(エミュレータを含む)でアクセスできる (adb)コマンド:
// Android 14
adb shell setprop persist.debug.input.simulate_stylus_with_touch true && adb shell stop && adb shell start
// Android 15 and higher
// Property takes effect after screen reconfiguration such as orientation change.
adb shell setprop debug.input.simulate_stylus_with_touch true
対応していないデバイスを使用している場合、テストには Gboard のベータ版を使用してください タッチペン。
参考情報
- マテリアル デザイン - テキスト フィールド
- ユーザー入力を処理する