Merhaba arkadaşlar bu yazımda size Buttonu anlatacağım.
Herhangi bir platformda program yazılırken en çok kullanılan nesnelerden biri olan “Buton”‘un Android programlama da nasıl kullanıldığını tıklanma olayını nasıl belirlediğimizi anlatacağım. c# WPF platformunda program yazmışsanız daha önceden orada xaml dosyasına buton eklediğimiz zaman bu butonu kod bölümünde bu butonu tanıtmadan direk kullanabiliyorduk. Android programlama platformunda nesneleri kod bölümünden kontrol etmek veya üzerlerinde bir işlem yapmak için o nesneyi “Java”‘ya tanıtmamız gerekiyor. Öncelikle bir butonu Java dosyasına nasıl tanıtırız buton ve java dosyası arasında nasıl bağlantı kurarız onu anlatayım.
Yukarıdaki görselde ki gibi ekrana 4 adet buton ekledim ve şimdi gelin beraber bu butonları java dosyamıza tanıtalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
public class MainActivity extends AppCompatActivity { Button buton1,buton2,buton3,buton4;//Burada "Button" türünden 4 nesne oluşturduk java dosyassında butonları bu isimlerle kullanacağız. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); buton1=(Button)findViewById(R.id.button);//Bu kod satırını aşağıda daha detaylı bir şekilde anlatacağım. buton2=(Button)findViewById(R.id.button2); buton3=(Button)findViewById(R.id.button3); buton4=(Button)findViewById(R.id.button4); } } |
Yukarıda ilk olarak “Button” türünden 4 nesne oluşturduk butonlarımızı java dosyasında bu isimlerle kullanacağız. Butonlara isim verirken istediğiniz ismi verebilirsiniz ancak bazı kurallar da her platformda olduğu gibi buradada bulunmakta;
- Buttonlara isim verirken ismin bir sayı veya özel karakterle başlamaması gerekir.
- Verilen ismin içinde özel karakter geçmemesi gerekir.(Sadece (_) kullanabiliriz.)
- Türkçe karakter kullanabiliriz herhangi bir hata vermemekte.
Butonları java dosyasına tanıtırken ilk işlemimizi gerçekleştirip buton isimleri belirledik. İkinci olarak yapmamız gereken işlem ise yukarıda oluşturduğumuz “Button” türündeki nesneyi “xml” dosyamızda oluşturduğumuz butonla bağlantı kurmak.
1 2 3 |
buton1=(Button)findViewById(R.id.button) |
Yukarıdaki gibi bir kod parçacığı kullanıyoruz butonla bağlantı kurarken şimdi bu kod satırını tanıyalım.
İlk olarak “Button” türünde oluşturduğumuz isimleri yazarak başlıyoruz kodumuzu yazmaya.
1 2 3 |
buton1=(Button) |
Bu kod “casTo” işlemidir. Yani bizim belirlediğimiz “buton1” nesnesinin bir “Button” türünden olduğunu belirliyoruz.
1 2 3 |
findViewById(R.id.button) |
Bu kod parçacığı ise bizim javada ilk olarak oluşturduğumuz “Button” nesnesinin “xml” dosyasında oluşturduğumuz “Button”la bağlantıyı kurmamızı sağlıyor. “findViewById” yazdıktan sonra butonun Id’sını yazıyoruz. “R.id.button” kodunun anlamı ise şudur: “”Res” klasörünün içinde bulunan “button” isimli “id’ye” sahip olan nesne” demek oluyor. Bu şekilde ilk olarak bizim java dosyasında oluşturduğumuz “Button” unun ismini daha sonra onu casTo yapıp en son xml dosyasındaki Button’umuzla ilişkilendirerek Button’u Java dosyasına tanıtmayı bitiriyoruz.
Arkadaşlar “Button”u java dosyamıza tanıttık bundan sonra onla ilgili işlemleri rahatlıkla yapabiliriz.
Java dosyası üzerinde Button üzerinde bir çok değişikli yapabilirsiniz bunlardan birine örnek veriyim mesela buton üzerindeki yazıyı değiştirebilirsiniz.
1 2 3 |
buton4.setText("www.yazilimbilisim.net"); |
Bu kod parçacığıyla buton4’ün üzerinde yazılı olan yazıyı “www.yazilimbilisim.net” le değiştirdim.
“Buttonİsmi.set” yazıp “ctrl+space” tuşlarına basıp Butonun değiştirebileceğiniz diğer özellikleri gelecektir.
Şimdi gelelim Buton’a tıklanma olayına. Tıklanma olayını birbirinden farklı birçok yöntemle gerçekleştirebiliriz. Ben size bugün en çok kullanılan iki yöntemi göstereceğim. Göstereceğim ilk yöntem en çok kullanılan ilk yöntemdir geliştiriciler genelde bu şekilde tıklanma olayını ele alırlar.
1 2 3 4 5 6 7 8 |
buton1.setOnClickListener(new View.OnClickListener() {//buton1 yerine tıklanma olayının gerçekleşmesini istediğiniz Buttonunuzun isimini yazıyosunuz. @Override public void onClick(View v) { //Buton'a tıklanınca Yapılacak işlem } }); |
Yukarıda ki kod parçacığıyla Button’a tıklandığını kestiriyoruz ve Button’a tıklanınca yapılacak işlemi yazıyoruz.
İkinci yol ise c# wpf platformunda uygulama geliştirmiş olanlara tanıdık gelecek bir yöntemdir.
Bu yöntemde ilk olarak “xml” dosyasında Button ile ilgili kod parçacığının olduğu “<Button…./>” etiketinin içine
1 2 3 |
android:onClick="metodİsmi" |
kod parçacığını yerleştiriyoruz. Daha sonra java dosyasında bu metodu oluşturmamız gerekiyor. Yalnız metodu oluştururken “onCreate” metodunun dışında oluşturmalıyız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); buton1=(Button)findViewById(R.id.button); buton2=(Button)findViewById(R.id.button2); buton3=(Button)findViewById(R.id.button3); buton4=(Button)findViewById(R.id.button4); } |
Uygulamamızda ki “onCreate” metodu budur bu metod dışında tıklanma metodunu oluşturmamız gerekiyor yoksa hata alırız.
1 2 3 4 5 6 |
public void metodİsmi (View v) { //Butona tıklanınca yapılacak işlem. } |
Bu kod parçacığını java dosyasına ekleyerek Button’a tıklanınca yapılacak işlemi belirleyebiliyoruz.
Bu yaptığım örneklerle umarım anlatabilmişimdir iki konuyu da eğer anlamadığınız kısımlar olduysa veya bir yorumunuz, tavsiyeniz, şikayetiniz olursa yorumda rahatlıkla yazabilirsiniz.
merhaba. bir butondan diğerine tıklayınca ikisinin arasında çizgi çizdirmesini istiyorum ve bu paralelde olabilir bunu nasıl yapbilirim?
Sorduğunuz yöntemi daha önce kullanmadım ancak aklıma farklı bir yöntem geldi eğer uygunsa ve isterseniz hazırlayıp atayım size.