Jetpack androidx.compose.material3
kitaplığı, kullanıcıların ekran kalemi kullanarak tüm uygulamalardaki TextField
bileşenlerine yazmalarına imkan tanır.
Ekran kalemiyle girişi varsayılan olarak etkinleştirmek için kitaplık bağımlılığını uygulamanızın build.gradle
dosyasına ekleyin:
Kotlin
dependencies { implementation("androidx.compose.foundation:foundation:LATEST_COMPOSE_VERSION") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "LATEST_EXTENSION_VERSION" } kotlinOptions { jvmTarget = "LATEST_JVM_VERSION" } }
Modern
dependencies { implementation 'androidx.compose.foundation:foundation:LATEST_COMPOSE_VERSION' } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = 'LATEST_EXTENSION_VERSION' } kotlinOptions { jvmTarget = 'LATEST_JVM_VERSION' } }
TextField
Android 14 ve sonraki sürümler ile androidx.compose.foundation:foundation:1.7.0
bağımlılığında tüm TextField
bileşenleri için ekran kalemiyle el yazısı varsayılan olarak etkindir. Bileşenin el yazısı sınırları içinde ekran kalemi hareketi etkinliği algılandığında TextField
için el yazısı modu başlatılır.
El yazısı sınırları, giriş alanının çevresinde 40 dp dikey dolgu ve 10 dp yatay dolgu içerir.
KeyboardType.Password
ile giriş yöntemi düzenleyicisi istendiğinde TextField
alanlarında ekran kalemiyle el yazısı desteklenmez.
Giriş yetkisi
Uygulamalar, metin giriş alanları gibi görünen yer tutucu kullanıcı arayüzü öğeleri görüntüleyebilir, ancak aslında metin giriş özelliği olmayan statik kullanıcı arayüzü öğeleridir. Arama alanları buna yaygın bir örnektir. Statik kullanıcı arayüzü öğesine dokunulduğunda, giriş için odaklanmış işlevsel bir metin giriş alanı içeren yeni bir kullanıcı arayüzüne geçişi tetikler.
Ekran kalemi giriş yetkisi
Yer tutucu giriş alanlarında ekran kalemiyle el yazısı girişini desteklemek için el yazısı yetkilendirme API'lerini kullanın (bkz. handwritingDetector
ve handwritingHandler
). Yer tutucu kullanıcı arayüzü öğesi, işlevsel bir giriş alanına el yazısı yetkisi vermek için yapılandırılmıştır. Örnek uygulama için HandwritingDetectorSample.kt
adresini inceleyin.
Ekran kalemiyle el yazısı modu, işlevsel giriş alanı odaklanıp bir InputConnection
oluşturduğunda başlar.
Test etme
Ekran kalemiyle el yazısı, Android 14 ve sonraki sürümleri çalıştıran, uyumlu bir ekran kalemi giriş cihazı ve Android 14 ekran kalemi el yazısı API'lerini destekleyen bir giriş yöntemi düzenleyicisi (IME) bulunan cihazlarda desteklenir.
Ekran kalemi giriş cihazınız yoksa aşağıdaki Android Debug Bridge (adb) komutlarını kullanarak root erişimi olan (emülatörler dahil) tüm cihazlarda ekran kalemi girişini simüle edin:
// 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
Ekran kalemini desteklemeyen bir cihaz kullanıyorsanız test için Gboard beta sürümünü kullanın.
Ek kaynaklar
- Materyal Tasarım — Metin alanları
- Kullanıcı girişini işleme