Le Jetpack
androidx.compose.material3
permet aux utilisateurs d'écrire dans n'importe quel composant TextField
dans
n'importe quelle application
avec un stylet.
Pour activer la saisie au stylet par défaut, ajoutez la dépendance de la bibliothèque au fichier
Fichier 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
L'écriture manuscrite au stylet est activée par défaut pour tous les composants TextField
Android 14 ou version ultérieure,
androidx.compose.foundation:foundation:1.7.0
la dépendance. Le mode Écriture manuscrite est lancé pour un TextField
en cas de mouvement du stylet
est détecté dans les limites d'écriture manuscrite du composant.
Les limites de l'écriture manuscrite incluent une marge intérieure verticale de 40 dp et une marge intérieure de 10 dp une marge intérieure autour du champ de saisie.
![Champ de saisie entouré d'un rectangle indiquant les limites de détection des événements de mouvement du stylet.](https://developer.android.com/static/images/develop/ui/compose/touch-input/stylus-input/shared/edittext_handwriting_bounds.png?authuser=19&hl=fr)
TextField
.
L'écriture manuscrite au stylet n'est pas disponible pour les champs TextField
lorsque le mode de saisie
éditeur est demandé avec KeyboardType.Password
.
Délégation de l'entrée
Les applications peuvent afficher des éléments d'interface utilisateur réservés qui semblent être des champs de saisie de texte, mais sont en fait de simples éléments d'UI statiques sans capacité de saisie de texte. Réseau de Recherche sont un exemple courant. Appuyer sur l'élément statique d'interface utilisateur déclenche une transition vers une nouvelle UI contenant un champ de saisie de texte fonctionnel.
Délégation de saisie au stylet
Utilisez les API de délégation d'écriture manuscrite pour prendre en charge l'écriture manuscrite au stylet pour
des espaces réservés pour les champs de saisie (voir handwritingDetector
et
handwritingHandler
). L'espace réservé pour l'élément d'UI est
configuré pour déléguer l'écriture manuscrite à un champ de saisie fonctionnel. Exemple :
implémentation, consultez
HandwritingDetectorSample.kt
Le mode d'écriture manuscrite au stylet démarre lorsque le champ de saisie fonctionnel est sélectionné et
crée une
InputConnection
Tests
L'écriture manuscrite au stylet est compatible avec les appareils Android 14 et versions ultérieures disposant d'un un périphérique d'entrée compatible avec un stylet et un mode de saisie éditeur (IME) qui permet est compatible avec les API d'écriture manuscrite au stylet Android 14.
Si vous n'avez pas de périphérique d'entrée au stylet, simulez la saisie avec le stylet sur n'importe quel appareil. avec un accès root (émulateurs compris) à l'aide d'Android Debug Bridge (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
Utilisez la version bêta de Gboard pour effectuer des tests si vous utilisez un appareil non compatible avec le stylet.
Ressources supplémentaires
- Material Design : champs de texte
- Gérer les entrées utilisateur