Il jetpack
androidx.compose.material3
consente agli utenti di scrivere su qualsiasi componente TextField
in
a qualsiasi app con uno stilo.
Per attivare l'input dello stilo per impostazione predefinita, aggiungi la dipendenza della libreria al
File 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" } }
Alla moda
dependencies { implementation 'androidx.compose.foundation:foundation:LATEST_COMPOSE_VERSION' } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = 'LATEST_EXTENSION_VERSION' } kotlinOptions { jvmTarget = 'LATEST_JVM_VERSION' } }
TextField
La scrittura a mano libera con lo stilo è attiva per tutti i componenti di TextField
per impostazione predefinita su
Android 14 e versioni successive e
androidx.compose.foundation:foundation:1.7.0
la dipendenza. La modalità Scrittura a mano libera viene avviata per un TextField
quando si muove uno stilo
viene rilevato entro i limiti di scrittura a mano libera del componente.
I limiti della scrittura a mano libera includono 40 dp di spaziatura interna verticale e 10 dp di spaziatura orizzontale una spaziatura interna attorno al campo di immissione.
La scrittura a mano libera con lo stilo non è supportata per i campi TextField
quando il metodo di immissione
con KeyboardType.Password
.
Delega input
Le app possono mostrare elementi UI segnaposto che sembrano essere campi di immissione di testo, ma sono solo elementi statici dell'interfaccia utente senza funzionalità di input di testo. Rete di ricerca sono un esempio comune. Il tocco dell'elemento statico dell'interfaccia utente attiva una transizione a una nuova UI contenente un campo di immissione di testo funzionale specifico per l'input.
Delega input stilo
Usa le API di delega della scrittura a mano libera per supportare l'inserimento della scrittura a mano libera con lo stilo per
campi di immissione segnaposto (vedi handwritingDetector
e
handwritingHandler
). L'elemento UI segnaposto è
configurate per delegare la scrittura a mano libera a un campo di immissione funzionale. Ad esempio,
implementazione, consulta
HandwritingDetectorSample.kt
La modalità di scrittura a mano libera con lo stilo si avvia quando il campo di immissione funzionale diventa
crea un
InputConnection
Test
La scrittura a mano libera con lo stilo è supportata sui dispositivi Android 14 e versioni successive con un un dispositivo di immissione stilo compatibile e un metodo di immissione Editor (IME) che supporta le API di scrittura a mano libera con stilo Android 14.
Se non hai un dispositivo di input con lo stilo, simula l'input dello stilo su qualsiasi dispositivo con accesso root (inclusi gli emulatori) utilizzando il seguente Android Debug Bridge Comandi (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
Usa la versione beta di Gboard per i test se usi un dispositivo che non supporta stilo.
Risorse aggiuntive
- Material Design: campi di testo
- Gestire l'input utente