ComposeUI/UX

Compose Tasarımında Input Validation

Arayüz tasarımı oluştururken görsellik yanı sıra kullanıcı ile etkileşimi sağlayan tasarım araçları kullanmakta çok önemlidir.

Bu makale Android Jetpack Compose tasarımda input validation (doğrulama)  nasıl yapılacağını örnekleyerek açıklayacaktır.

Umayherbal firma uygulamasının login ekran prototipi:

 

Proje kodlarına github linkinden, kodlarla ilgili açıklamalara da makaleden ulaşabilirsiniz.

1-Compose Proje Oluşturma

Compose kullanabilmek için Android Studio Arctic Fox veya üst sürümlerden birini indirmeniz gerekir. Android Studio’da File > New yolunu takip edip New Project ekranında Empty Compose Activity arayüz taslağını seçmelisiniz. Next yapıp projenizi oluşturun.

2-Gerekli Kütüphanelerin Eklenmesi

Android Studio Ide ile oluşturduğum projemin app dizinin altındaki build.gradle dosyasını açıyoruz. Dependencies kod bloklarının arasına aşağıdaki kodları yerleştirerek Material3 kütüphanesini yüklüyoruz. Bazı Android Studio sürümleri bu kütüphaneyi kendiside ekleyebiliyor.

3- Tasarımı ve Input Validation Oluşturma

Compose tasarımda kullanıcının metin girmesini sağlayan 2 tip input çeşidi vardır.

    1.  TextField : Xml yapısındaki EditText’in en sade halidir.
    2. OutlinedTextField : Bu tür input’a tıkladığınızda animasyon şeklinde label üst border alanına geçer. En önemli özelliği; onValueChange sayesinde kullanıcı klavyeden her karakter girdiğinde anlık olarak veri güncellenir. Dilerseniz input alanına icon da ekleyebilirsiniz. Örmek,

Örnek projemizde OutlinedTextField kullanmayı tercih ettim. Kodlarımızı detaylı inceleyelim.

Not: Sadece email input kontrolu yaptım. Dilerseniz if kontrolü ekleyerek password input kontrol edebilirsiniz. Ek olarak projede kullandığım renkleri, paket_ismi.ui.theme dizinin içindeki Color.kt dosyası içinde tanımladım.

 

Proje kodlarına github linkinden, kodlarla ilgili açıklamalara da makaleden ulaşabilirsiniz.

 

Bülten
Bültene abone ol

Bültene abone olarak yeni makalelerimden haberdar olun.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir