Jetpack
androidx.compose.material3
kitaplığı, kullanıcıların tarayıcıdaki herhangi bir TextField
bileşenine yazmasına
ekran kalemi kullanan
uygulamalardan bahsedeceğiz.
Ekran kalemi girişini varsayılan olarak etkinleştirmek için kitaplık bağımlılığını uygulamanızın
build.gradle
dosyası:
Kotlin
dependencies { implementation("androidx.compose.foundation:foundation:LATEST_COMPOSE_VERSION") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "LATEST_EXTENSION_VERSION" } kotlinOptions { jvmTarget = "LATEST_JVM_VERSION" } }
Eski
dependencies { implementation 'androidx.compose.foundation:foundation:LATEST_COMPOSE_VERSION' } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = 'LATEST_EXTENSION_VERSION' } kotlinOptions { jvmTarget = 'LATEST_JVM_VERSION' } }
TextField
Ekran kalemiyle el yazısı özelliği, şurada varsayılan olarak tüm TextField
bileşenleri için etkindir:
Android 14 ve sonraki sürümler
androidx.compose.foundation:foundation:1.7.0
desteklenmektedir. Ekran kalemi hareket ettiğinde TextField
için el yazısı modu başlatılır
etkinliği, bileşenin el yazısı sınırları içinde algılanır.
El yazısı sınırları 40 dp dikey dolgu ve 10 dp yatay dolgu içerir. dolgu.
![Ekran kalemi hareketi etkinliklerinin algılanması sınırlarını gösteren, etrafını çevreleyen dikdörtgenin bulunduğu giriş alanı.](https://developer.android.google.cn/static/images/develop/ui/compose/touch-input/stylus-input/shared/edittext_handwriting_bounds.png?authuser=0000&hl=tr)
TextField
bileşenin el yazısı sınırları.
Giriş yöntemi kullanıldığında TextField
alanları için ekran kalemiyle el yazısı desteklenmez
KeyboardType.Password
ile düzenleyici isteniyor.
Giriş yetkisi
Uygulamalar, metin giriş alanı gibi görünen yer tutucu kullanıcı arayüzü öğelerini gösterebilir, ancak aslında metin girişi özelliği olmayan statik kullanıcı arayüzü öğeleridir. Arama alanları yaygın bir örnektir. Statik kullanıcı arayüzü öğesine dokunduğunuzda bir geçiş tetiklenir girişe odaklanan işlevsel bir metin giriş alanı içeren yeni bir kullanıcı arayüzüne sahiptir.
Ekran kalemi girişi yetkisi
Şunlarda ekran kalemi el yazısı girişini desteklemek için el yazısı yetkilendirme API'lerini kullanın:
yer tutucu giriş alanları (bkz. handwritingDetector
ve
handwritingHandler
). Yer tutucu kullanıcı arayüzü öğesi
el yazısı için işlevsel bir giriş alanına yetki verecek şekilde yapılandırılmıştır. Örneğin,
hakkında ayrıntılı bilgi için
HandwritingDetectorSample.kt
.
İşlevsel giriş alanına odaklanıldığında ekran kalemiyle el yazısı modu başlar ve
oluşturur
InputConnection
.
Test
Ekran kalemiyle el yazısı, Android 14 ve sonraki sürümleri çalıştıran cihazlarda desteklenir. uyumlu ekran kalemi giriş cihazı ve giriş yöntemi düzenleyen (IME) Android 14 ekran kalemi el yazısı API'lerini destekler.
Ekran kalemi giriş cihazınız yoksa her cihazda ekran kalemi girişini simüle edin aşağıdaki Android Debug Bridge'i kullanarak kök erişimi (emülatörler dahil) ile (adb) komutları:
// 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
Desteklenmeyen bir cihaz kullanıyorsanız test için Gboard beta sürümünü kullanın ekran kalemi.
Ek kaynaklar
- Materyal Tasarım — Metin alanları
- Kullanıcı girişini işleme