Android Programlama: Button Kullanımı & Event Ekleme
Butonlar kullanıcıya programınızı kontrol etmeye yönelik tasarlanmış arayüz komponentleridir. Bu komponentler arayüz tasarlanırken sıkça kullanılır. Kullanıcıdan önceden belirlenmiş yanıtlar alabilmek için de butonları kullanabilirsiniz. Örnek olarak mesaj kutularındaki "Evet" "Hayır" düğmeleri verilebilir. Android'de programlanmaları oldukça basit bir şekilde gerçekleştirilebilir.
Burada id özelliği, butona arkaplan kodu üzerinden ulaşabilmek için kullanılır. layout_width özelliği "match_parent" olarak ayarlanarak butonun yatay olarak tüm ekranı kaplaması ve layout_height özelliği "wrap_content" olarak ayarlanarak butonun dikey olarak sadece metni sığdıracak kadar uzaması sağlanır. text değeri butonun üzerinde görüntülenecek metindir.
Bu kodu layout'unuza eklediğinizde sonuç aşağıdakine benzer olacaktır.
Şimdi arkaplan kodu ile bu butona erişip dokunma durumunda tepki vermesini nasıl sağlayabileceğimize bir bakalım.
Öncelikle Button sınıfını widget paketinden import etmemiz gerekiyor.
Ardından butona erişmek amacıyla belirttiğimiz ID üzerinden butona kodla erişebilmek için findViewById fonksiyonunu kullanabiliriz.
Buton dokunulduğunda yada tıklandığında bir işlem gerçekleştirebilmek için bir dinleyici eklememiz gerekiyor.
Artık onClick fonksiyonunun içinde istediğimiz işlemleri gerçekleştirebiliriz.
Kullanıcı butona dokunduğunda bir uyarı diyaloğu gösterilecek ve diyaloğun dışında herhangi bir yere dokunduğunda yada telefonundaki geri tuşuna bastığında kapatılacak.
Butonları Layout'a Eklemek
Butonları arayüzünüze aşağıdaki gibi ekleyebilirsiniz (yada paletten seçerek sürükleyip bırakabilirsiniz)
<Button android:id="@+id/ilkButonum" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Mesaj Göster!"/>
Burada id özelliği, butona arkaplan kodu üzerinden ulaşabilmek için kullanılır. layout_width özelliği "match_parent" olarak ayarlanarak butonun yatay olarak tüm ekranı kaplaması ve layout_height özelliği "wrap_content" olarak ayarlanarak butonun dikey olarak sadece metni sığdıracak kadar uzaması sağlanır. text değeri butonun üzerinde görüntülenecek metindir.
Kodun tamamını bir layout ile birlikte kullanmak için (activity_main.xml)
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.androiduygulamam1.MainActivity"> <Button android:id="@+id/ilkButonum" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Mesaj Göster!"/> </RelativeLayout>
Bu kodu layout'unuza eklediğinizde sonuç aşağıdakine benzer olacaktır.
Şimdi arkaplan kodu ile bu butona erişip dokunma durumunda tepki vermesini nasıl sağlayabileceğimize bir bakalım.
Öncelikle Button sınıfını widget paketinden import etmemiz gerekiyor.
import android.widget.Button;
Ardından butona erişmek amacıyla belirttiğimiz ID üzerinden butona kodla erişebilmek için findViewById fonksiyonunu kullanabiliriz.
Button ilkButonum = findViewById(R.id.ilkButonum);
Buton dokunulduğunda yada tıklandığında bir işlem gerçekleştirebilmek için bir dinleyici eklememiz gerekiyor.
ilkButonum.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // Yapılacak işlem buraya } });
Artık onClick fonksiyonunun içinde istediğimiz işlemleri gerçekleştirebiliriz.
Arkaplan kodunun tamamı (MainActivity.java)
import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Butona ID si üzerinden erişiyoruz Button ilkButonum = findViewById(R.id.ilkButonum); // Dokunma olayına karşı dinleyici ekliyoruz. ilkButonum.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // Dokunulduğunda (yada tıklandığında) bir uyarı diyaloğu gösteriyoruz. AlertDialog.Builder mesaj = new AlertDialog.Builder(MainActivity.this); mesaj.setTitle("Diyalog başlığı"); mesaj.setMessage("Bu bir mesajdır!"); mesaj.show(); } }); } }
Kullanıcı butona dokunduğunda bir uyarı diyaloğu gösterilecek ve diyaloğun dışında herhangi bir yere dokunduğunda yada telefonundaki geri tuşuna bastığında kapatılacak.
Yorumlar
Yorum Gönder
Sitemize herkes yorum yapabilir. Eğer kayıt olmadan yorum yapmak istiyorsanız, listeden 'Anonim'i seçin.