El jetpack
androidx.compose.material3
permite a los usuarios escribir en cualquier componente TextField
en
cualquier app que use una pluma stylus.
Para habilitar la entrada de la pluma stylus de forma predeterminada, agrega la dependencia de la biblioteca al directorio
Archivo 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
La escritura a mano con la pluma stylus está habilitada de forma predeterminada para todos los componentes de TextField
Android 14 y versiones posteriores
androidx.compose.foundation:foundation:1.7.0
dependencia. Se inicia el modo de escritura a mano para una TextField
cuando se activa un movimiento de la pluma stylus
si se detecta un evento dentro de los límites de escritura a mano del componente.
Los límites de escritura a mano incluyen 40 dp de padding vertical y 10 dp de padding horizontal. relleno alrededor del campo de entrada.
La escritura a mano con la pluma stylus no es compatible con los campos TextField
cuando se usa el método de entrada
editor se solicita con KeyboardType.Password
.
Delegación de entrada
Las apps pueden mostrar elementos de la IU de marcador de posición que parecen ser campos de entrada de texto, pero en realidad son solo elementos estáticos de la IU sin capacidad de entrada de texto. Búsqueda son un ejemplo común. Cuando se presiona el elemento estático de la IU, se activa una transición a una nueva IU que contiene un campo de entrada de texto funcional enfocado en la entrada.
Delegación de entrada de la pluma stylus
Usa las APIs de delegación de escritura a mano para admitir la entrada de escritura a mano con pluma stylus para
de entrada de marcador de posición (consulta handwritingDetector
y
handwritingHandler
). El elemento de marcador de posición de la IU es
que está configurada para delegar la escritura a mano a un campo de entrada funcional. Por ejemplo
para la implementación, consulta
HandwritingDetectorSample.kt
El modo de escritura a mano con la pluma stylus comienza cuando el campo de entrada funcional se enfoca y
crea un
InputConnection
Prueba
La escritura a mano con la pluma stylus es compatible con dispositivos Android 14 y versiones posteriores que tengan un un dispositivo de entrada con pluma stylus compatible y un método de entrada de seguridad (IME) que admite las APIs de escritura a mano con pluma stylus de Android 14.
Si no tienes un dispositivo de entrada con pluma stylus, simula una entrada de pluma stylus en cualquier dispositivo con acceso con permisos de administrador (incluidos los emuladores) mediante 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
Usa la versión beta de Gboard para realizar pruebas si usas un dispositivo que no es compatible pluma stylus.
Recursos adicionales
- Material Design: Campos de texto
- Cómo controlar las entradas del usuario