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 が含まれます。 パディングされます。
入力方法の場合、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 のベータ版を使用してください タッチペン。
参考情報
- マテリアル デザイン - テキスト フィールド
- ユーザー入力を処理する