La bibliothèque Jetpack androidx.compose.material3
permet aux utilisateurs d'écrire dans n'importe quel composant TextField
de n'importe quelle application à l'aide d'un stylet.
Pour activer la saisie au stylet par défaut, ajoutez la dépendance de la bibliothèque au fichier build.gradle
de votre application:
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
sur Android 14 ou version ultérieure, ainsi que pour la dépendance androidx.compose.foundation:foundation:1.7.0
. Le mode Écriture manuscrite est activé pour un TextField
lorsqu'un événement 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 horizontale de 10 dp autour du champ de saisie.
![Champ de saisie avec un rectangle autour 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=8&hl=fr)
TextField
.
L'écriture manuscrite au stylet n'est pas compatible avec les champs TextField
lorsque l'éditeur de mode de saisie est demandé avec KeyboardType.Password
.
Délégation d'entrée
Les applications peuvent afficher des éléments d'interface utilisateur d'espace réservé qui semblent être des champs de saisie de texte, mais qui ne sont en fait que des éléments d'interface utilisateur statiques sans fonctionnalité de saisie de texte. Les champs de recherche en sont un exemple courant. Appuyer sur l'élément d'interface utilisateur statique déclenche une transition vers une nouvelle interface utilisateur contenant un champ de saisie de texte fonctionnel destiné à la saisie.
Délégation de saisie au stylet
Utilisez les API de délégation d'écriture manuscrite pour prendre en charge la saisie d'écriture manuscrite au stylet pour les champs de saisie d'espace réservé (voir handwritingDetector
et handwritingHandler
). L'élément d'interface utilisateur d'espace réservé est configuré pour déléguer l'écriture manuscrite à un champ de saisie fonctionnel. Pour obtenir un exemple d'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 un élément InputConnection
.
Test
L'écriture manuscrite au stylet est compatible avec les appareils Android 14 ou version ultérieure dotés d'un périphérique d'entrée de stylet compatible et d'un éditeur de mode de saisie (IME) compatible avec les API d'écriture manuscrite au stylet Android 14.
Si vous n'avez pas de périphérique d'entrée de stylet, simulez la saisie au stylet sur n'importe quel appareil disposant d'un accès racine (y compris les émulateurs) à l'aide des commandes Android Debug Bridge (adb) suivantes:
// 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 les 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