Android EditText Kullanımı

Merhaba Arkadaşlar,
Mobilhanem.com sitemiz üzerinden anlattığımız/yayınladığımız Android Eğitimleri yazı serimizde bu dersimizde Android EditText Kullanımı ile devam ediyoruz. EditText ,TextView den türeyen kullanıcıdan yazı girmesini beklediğimiz bir android bileşenidir.

EditText layout xml kısmında tanımlamasını yapalım;

activity_main.xml

Ekran çıktısı:

EditText için girilebilecek tipleri inputType ile belirliyoruz. Sonuçta kullanıcının o alana sadece sayısal değer girmesini isteyebiliriz ya da sadece metin girmesini isteyebiliriz.

inputType=”number” kullanımı ile sadece sayısal değerlerin girilmesini sağlarız.

inputType=”text” kullanımı ile metin değerlerinin girilmesini sağlarız.

 

inputType=”textPassword” kullanımı ile metin değerlerinin yıldızlı bir şekilde gözükmeden girilmesini sağlarız.

inputType=”textCapSentences|textAutoCorrect” kullanımı ile metin cümlesi girilmesi ve girilen değere göre bize otomatik olarak metin önerileri sunmayı sağlar. not: ( Cihaz diline göre önerileri sunar ve otomatik doğrulama için yine dil seçenekleri dikkat alınmaktadır. )

inputType=”phone” kullanımı ile telefon numarasına özgün değerlerin girilmesini sağlarız.

Yukarıda örneklerini verdiğim gibi bir çok veri tipi mevcut EditText için ben kullanılış açısından bir kaç tanesini gösterdim diğer tipleri kendinizde inceleyebilirsiniz.

Şimdi EditText in altındaki çizginin rengini nasıl değiştirebileceğimizi inceleyelim;

res->values->styles.xml dosyasına girip EditText için kullanacağımız bir style oluşturuyoruz aşağıdaki kodlama gördüğünüz gibi colorAccent adındaki değere renk kodunu atadık.

styles.xml

Oluşturduğumuz style dosyasını EditText bileşenine tema olarak veriyoruz. Yukarıda oluşturduğumuz style dosyasının adı ne ise onu EditText e vermeliyiz. Biz adını CustomEditTextStyle olarak oluşturduk sizde bu kısmı istediğiniz gibi adlandırabilirsiniz.

Böylece aşağıdaki ekran görüntüsünde gördüğünüz gibi EditText in alt kısmı verdiğimiz renk koduna göre şekillendi.

xml layout da yer alan EditText e findViewById yardımı ile erişiyoruz böylece eriştiğimiz android bileşenini direk olarak kullanabilmeyi sağlıyoruz.

MainActivity.java

 

setText(): EditText e değer girilmesini sağlar.

selectAll(): EditText içindeki değerin seçili bir şekilde gelmesini sağlar.

 

getText(): EditText içinde yer alan Editable metin değerini döndürmeyi sağlar.

setSelection(): EditText içinde yer alan değerin belirtilen index aralığına göre seçili gelmesini sağlar.

maxLines: EditText için maksimum satır sayısını belirtir. maxLines değerini 1 olarak belirttik. Genelde android:singleLine=”true” olarak da görebilirsiniz fakat deprecated ( artık kullanımı önerilmeyen ) olduğu için onun yerine maxLines kullandık. Tek satır yer kaplasın dediğimiz için aşağıdaki gibi uzun bir metin yer aldığında parmağımızla kaydırma işlemi yaparak sığmayan diğer metin kısımlarını görebiliriz.

hint: İpucu girilmesini sağlar. Kullanıcıya yol göstermek için de kullanılır. Örneğin; belirtilen EditText de ne kullanıcının o alana ne yazması gerektiğini hint yardımı ile gösterebiliriz. EditText içindeki değer kullanıcı tarafından yazılmaya başlandığı an hint değeri kaybolur , sıfırlandığı an ise geri gözükür.

 

textColor: EditText içindeki değerin rengini belirlemek için kullanılır.

drawableRight: EditText in sağ tarafına imaj koymamızı sağlar.

EditText focus olduğunda bazı işlemlerinin gerçekleşmesini isteyebiliriz; işte o zaman aşağıdaki gibi onFocusChangeListener kullanmalıyız.

EditText bileşenini dikdörtgen şeklinde yapmak istersek aşağıdaki gibi drawable klasörü içine bir xml dosyası oluşturmalıyız.

border_edittext.xml

Daha sonra oluşturduğumuz bu xml dosyasını EditText e arka plan olarak tanımlıyoruz.

Eğer EditText bileşenini köşelerden hafif oval şeklinde yapmak istersek aşağıdaki gibi drawable klasörü içine bir xml dosyası oluşturmalıyız.

border_edittext.xml

 

 

Material Design ile yaygınlaşan EditText in TextInputLayout ile birlikte kullanımı da aşağıdaki gibidir. Normal EditText bileşeni üstte altında da TextInputLayout ile kullanılan EditText yer almaktadır. Bu şekilde kullanımda o alana focus olduğunda hint değeri animasyonlu olarak üst kısma çıkmaktadır zaten iki EditText değerini bir arada kullanırsanız farkı anlayacaksınız.

not: ( aşağıdaki şekilde TextInputLayout ile EditText i birlikte kullanmak istiyorsanız support design kütüphanesinin de ekli olması gerekmektedir. Android projenizin build.gradle dosyası içinde dependencies kısmında bu kodun yer aldığından emin olunuz ! )

build.gradle

 

 

EditText üzerinde herhangi bir işlemden dolayı kullanıcıya hata mesajı göstermek istersek aşağıdaki gibi setError metodunu kullanabiliriz.

 

Evet arkadaşlar Android EditText Kullanımı aşamalarını sizlere detaylıca anlatmaya çalıştım. Umarım hepiniz için faydalı olmuştur.

Sıfırdan android dersleri için tıklayınız.

Mobilhanem.com üzerinden anlattığımız android uygulama geliştirme derslerine devam edeceğiz. Konu hakkında sorunuzu yorum alanından sorabilirsiniz. Konu dışı sorularınızı ve tüm yazılımsal sorularınızı sorucevap.mobilhanem.com sitemizden de sorabilirsiniz.

Bir daha ki dersimizde görüşmek dileğiyle..

Alper Beyler

Yüksek Lisans: Çankaya Üniversitesi / Bilgisayar Mühendisliği
Lisans: Çankaya Üniversitesi / Bilgisayar Mühendisliği (4/3.30) (2010-2014)
Lisans : Viyana Teknik Üniversitesi / Bilgisayar Bilimleri (2013)

14 Yorum

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?