Android Academy · Ders

Klavye Seçenekleri ve Eylemleri

Klavye türlerini, IME eylemlerini ve odağı öğrenin.

4. ders / 413 adım

Klavye Seçenekleri ve Eylemleri, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 4 dersten oluşur.

İş İçin Doğru Klavye

Özenli bir form doğru ekran klavyesini gösterir: telefon için rakamlar, e-posta için @ tuşu ve alanlar arasında ilerlemek için bir "Sonraki" düğmesi. Compose tüm bunları KeyboardOptions ve KeyboardActions ile denetler.

Bu derste klavye türlerini ve IME eylemlerini ayarlayacak, alanlar arasındaki odağı yöneteceksiniz.

Klavye Türünü Seçme

Bir metin alanına KeyboardOptions iletin ve keyboardType değerini ayarlayın. Sistem daha sonra verilere uygun bir klavye gösterir.

Yaygın değerler: Text, Number, Email, Phone, Password.

var email by remember { mutableStateOf("") }

OutlinedTextField(
    value = email,
    onValueChange = { email = it },
    label = { Text("Email") },
    keyboardOptions = KeyboardOptions(
        keyboardType = KeyboardType.Email
    )
)

Sayı Klavyesi

Miktar veya PIN için KeyboardType.Number kullanın. Doğrulama dersinde öğrendiğiniz gibi yalnızca rakamların kabul edilmesi için bunu girdi filtrelemeyle birleştirin.

var pin by remember { mutableStateOf("") }

OutlinedTextField(
    value = pin,
    onValueChange = { pin = it.filter { c -> c.isDigit() } },
    label = { Text("PIN") },
    keyboardOptions = KeyboardOptions(
        keyboardType = KeyboardType.Number
    )
)

Parolayı Gizleme

Parolalar maskelenmelidir. Parola klavye türüyle birlikte visualTransformation = PasswordVisualTransformation() kullanın.

Durum hâlâ gerçek karakterleri tutar; yalnızca görüntü maskelenir.

var password by remember { mutableStateOf("") }

OutlinedTextField(
    value = password,
    onValueChange = { password = it },
    label = { Text("Password") },
    visualTransformation = PasswordVisualTransformation(),
    keyboardOptions = KeyboardOptions(
        keyboardType = KeyboardType.Password
    )
)

IME Eylem Düğmesi

Klavyenin sağ alt tuşu IME eylemidir. Bunu imeAction ile ayarlayın. Sonraki alana geçmek için Next, son alanda ise Done kullanın.

OutlinedTextField(
    value = name,
    onValueChange = { name = it },
    label = { Text("Name") },
    keyboardOptions = KeyboardOptions(
        imeAction = ImeAction.Next
    )
)

IME Eylemlerine Yanıt Verme

Kullanıcı bu düğmeye dokunduğunda tepki vermek için KeyboardActions iletin. Her eylem (onNext, onDone, onSearch), uyguladığınız bir lambda'dır.

Burada Done düğmesine basıldığında klavye gizlenir.

val keyboard = LocalSoftwareKeyboardController.current

OutlinedTextField(
    value = text,
    onValueChange = { text = it },
    keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
    keyboardActions = KeyboardActions(
        onDone = { keyboard?.hide() }
    )
)

Odağı Sonraki Alana Taşıma

Birden çok alan içeren bir formda Sonraki düğmesi bir sonraki alana geçmelidir. LocalFocusManager kullanın ve moveFocus çağrısı yapın.

val focusManager = LocalFocusManager.current

OutlinedTextField(
    value = email,
    onValueChange = { email = it },
    keyboardOptions = KeyboardOptions(imeAction = ImeAction.Next),
    keyboardActions = KeyboardActions(
        onNext = { focusManager.moveFocus(FocusDirection.Down) }
    )
)

Done Sırasında Odağı Temizleme

Son alanda odağı temizlemek klavyeyi kapatır ve alanın seçimini kaldırır. onDone içinde focusManager.clearFocus() çağrısı yapın.

OutlinedTextField(
    value = password,
    onValueChange = { password = it },
    keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
    keyboardActions = KeyboardActions(
        onDone = { focusManager.clearFocus() }
    )
)

Odağı Programlı Olarak İsteme

Bazen arama kutusu gibi bir alanın ekran görünür görünmez odaklanmasını istersiniz. Bir FocusRequester ekleyin ve bir LaunchedEffect içinde odak isteyin.

val focusRequester = remember { FocusRequester() }

LaunchedEffect(Unit) { focusRequester.requestFocus() }

OutlinedTextField(
    value = query,
    onValueChange = { query = it },
    modifier = Modifier.focusRequester(focusRequester),
    label = { Text("Search") }
)

Büyük Harf ve Otomatik Düzeltme

KeyboardOptions ayrıca capitalization ve autoCorrectEnabled değerlerini de denetler. Bir ad için her kelimenin ilk harfini büyütün veya kullanıcı adı için otomatik düzeltmeyi kapatın; böylece kullanıcı adı bozulmaz.

OutlinedTextField(
    value = fullName,
    onValueChange = { fullName = it },
    label = { Text("Full name") },
    keyboardOptions = KeyboardOptions(
        capitalization = KeyboardCapitalization.Words,
        autoCorrectEnabled = false
    )
)

Saf Kotlin: IME Eylemi Seçme

"Son alan dışındaki her alan için Next, son alanda Done" mantığı yalın Kotlin'dir. Burada alan konumlarını göstermeleri gereken eylem etiketleriyle eşliyoruz.

fun imeActionFor(index: Int, lastIndex: Int): String =
    if (index == lastIndex) "Done" else "Next"

fun main() {
    val fields = listOf("name", "email", "password")
    fields.forEachIndexed { i, field ->
        println("$field -> ${imeActionFor(i, fields.lastIndex)}")
    }
}

Hızlı Kontrol

Klavyenin sağ alt düğmesinde "Next" yazmasını ve düğmeye dokunulduğunda odağın aşağıdaki alana geçmesini istiyorsunuz. Hangi iki parçaya ihtiyacınız var?

Özet

Artık klavyeyi dikkate alan formlar oluşturabilirsiniz:

  • KeyboardOptions; keyboardType, imeAction, büyük harf kullanımını ve otomatik düzeltmeyi ayarlar.
  • Parolaları PasswordVisualTransformation ile maskeleyin.
  • KeyboardActions, Next/Done/Search eylemlerine yanıt verir.
  • LocalFocusManager odağı taşır veya temizler; FocusRequester isteğe bağlı olarak bir alanı odaklar.

Bu, form oluşturma araç setini tamamlar: girdi, durum, doğrulama ve klavye. Artık özenli ve kullanışlı Compose formları oluşturmaya hazırsınız.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Kotlin öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
36
Dersler
152

Sıkça Sorulan Sorular

“Klavye Seçenekleri ve Eylemleri” dersi ücretsiz mi?

Evet — “Klavye Seçenekleri ve Eylemleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 4 dersten oluşur.

“Klavye Seçenekleri ve Eylemleri” dersinde ne öğreneceğim?

Klavye türlerini, IME eylemlerini ve odağı öğrenin. Android Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Android Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Android Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Klavye Seçenekleri ve Eylemleri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Android Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Android Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. TextField ve Kullanıcı Girdisi
  2. Form Durumunu Yönetme
  3. Girdiyi Doğrulama
  4. Klavye Seçenekleri ve Eylemleri
← Android Academy Sayfasına Dön