Android

Android – Button ve StateListDrawable Kullanımı

Button, tıklandığında bir kod parçasını tetikleyen bileşendir. Aslında tıklanabilme işlevi tüm bileşenlere verilebilmektedir. Fakat birçok sistemde olduğu gibi Android’de de Button‘lar bu işlev için özel olarak hazırlanmıştır.

Önceki uygulamalarımızda Button‘ları kullanmıştık ama detaylı olarak incelememiştik. Şimdi detaylı bir şekilde inceleyeceğiz.

Android’de Button‘lar varsayılan olarak belirli bir arkaplan kullanırlar. Bu arkaplan, uygulamanın çalıştırıldığı cihazda bulunan Android sürümüne göre değişiklik gösterir. Biz genellikle uygulamamızın tasarımına uygun Button‘lar kullanmak isteriz. Bu yazıda bunu nasıl yapacağımızı göreceğiz.

Button’a doğrudan bir resmi arkaplan olarak vermek bir çözümdür ama böyle yaparsak Button tıklandığında bunu hissedemeyiz. Bu sebeple, StateListDrawable denilen bir xml dosyası kullanacağız. Bu dosya sayesinde Button‘a, basılı olduğu durumda farklı bir arkaplan verebileceğiz. Böylece, kullanıcı Button‘a tıkladığını hissedebilecek.

Örnek Uygulama

Artık uygulamamıza geçelim. Uygulamamızda, tıklandığında ekranın arkaplan rengini değiştiren bir Button olsun. Ayrıca bu Button‘un tasarımı da bizim hazırladığımız şekilde olsun.

Önceki uygulamalarımızda olduğu gibi MainActivity sınıfını ve activity_main xml dosyasını kullanacağız.

Tasarım

Screenshot 2014-06-26 01.55.12

Öncelikle, res klasörü altında yer alan drawable klasörü içine button_arkaplan adında bir xml dosyası oluşturalım. Buna ek olarak, Button için hazırladığınız arkaplanları da uygun drawable klasörüne koyalım. button_arkaplan dosyasının içine aşağıdaki kodları yazalım.

button_pressed

button

 

Burada button_pressed, Button‘un basılı olduğu durumdaki arkaplanı, button ise diğer durumlardaki arkaplanı.

Şimdi, activity_main dosyasının içerisine de aşağıdaki kodları yazalım.

[alert] XML üzerinde bir nesneye isim vermek için android:id özelliğine @+id/ ön ekini kullanıyoruz. [/alert]

Gördüğünüz gibi, sadece bir RelativeLayout ve onun içerisinde bir Button var. Burada dikkat edilmesi gereken noktalar şunlardır:

  • RelativeLayout‘a bir isim veriyoruz (android:id=“@+id/layout”). Çünkü arkaplanını değiştirmek için MainActivity içerisinde çağıracağız.
  • Button‘a arkaplan olarak bir xml dosyası veriyoruz (android:background=“@drawable/button_arkaplan”).

Tasarım kısmında işimiz bitti. Sırada kodlama kısmı var.

Kodlama (MainActivity)

MainActivity içerisine aşağıdaki kodları yazıyoruz.

Ekran Görüntüleri

Artık uygulamamızı çalıştırabiliriz. Bazı ekran görüntülerini sizlerle paylaşıyorum;

Screenshot 2015-05-22 22.57.57

Bu yazımızın da sonuna geldik. Basit bir uygulama hazırlayıp Button kullanımını görmüş olduk. Başka bir yazıda görüşmek üzere. 🙂

Kaynak Kodlar

Uygulama dosyaları için: https://github.com/mursidyazar/Android-Button-and-StateListDrawable.git

Benzer Konular

Android Görsel Bileşenler;

  1. TextView ve EditText
  2. ImageView
  3. Button ve StateListDrawable
  4. Toast
  5. ListView
  6. WebView
  7. Spinner
  8. CheckBox
  9. ProgressBar
  10. SeekBar
Yıldız Teknik Üniversitesi Bilgisayar Mühendisliği mezunudur. Java dilinin temellerine hâkimdir. iGones’da Mobil Uygulama Geliştirici olarak çalışmaktadır. Genellikle Android uygulamaları geliştiren ve bu alanda çalışırken başkalarına da yardımcı olmayı görev edinen bir YAZARdır.