İçeriğe geç

Xamarin Android Widget Kontrolleri

Merhaba arkadaşlar, bugün sizlere Xamarin Android uygulamasında toolslardaki widgetları nasıl kontrol edeceğinizden bahsedeceğim. Örnek olarak ben buton ve textview kontrollerini göstereceğim diğerleri de aynı şekilde mantıkla yapabilirsiniz.

Benim yaptığım örnekte basit bir şekilde ekranda iki tane buton ve bir tane textview olacak ve butonlara basılmaya göre bu textview yazısını değiştireceğim.

İlk olarak sıfır bir projemizi oluşturuyoruz ve defaultta gelen ve projemizde “Resources -> layout” konumunda olan “Main.axml” içinde ekranımıza iki buton ve bir textview ekleyip id ve yazılarını isteğimize göre güncelleştiriyoruz.

Daha sonra da önceki yazımda da bahsettiğim gibi tüm Layoutlarımzın kontrolünü tek bir dosyadan “MainActivity.cs” dosyasından erişerek gerekli kontrollerimizi yapıyoruz demiştik.

Daha önceki yazıda da bahsettiğim gibi yorum olarak görünen “SetContentView (Resource.Layout.Main);” kod kısmını yorumdan kaldırdığımız zaman main layoutumuz açılış ekranı olacaktır.

Burada ekranlarımızdaki widgetlara ulaşmak için “protected override void OnCreate(Bundle bundle)” içerisinde tüm widget kontrollerine erişip kendi tipinde değişkenlere atamamız gerekmektedir.

Ekanımda yer alan iki buton ve bir text view için aşağıdaki şekilde kontrollerimi tanımlıyorum ve bunlara erişim sağlamış oluyorum.

Hangi kontrol olursa olsun fark etmeden bu şekilde her bir layoutumuzun altındaki kontrollere erişebilmekteyiz. Şimdi buttonlarıma eriştim ve bu butonumun click event ına erişip bunu tektiklemem gerekmektedir.

Bunu yapmanın iki ayrı yöntemi bulunmaktadır. Ekranımda bulunan butonları da ayrı ayrı yöntemlerle yapacağım.

Yöntem 1:

Yöntem 2:

Son olarak tüm kodları bir arada görecek olursak classımızın içindeki son kod yapısı aşağıdaki gibi olacaktır.

Projemizi derleyip emülatörde çalıştırırsak eğer buttonlara basıdığında ekran görüntüleri aşağıdaki gibi olacaktır.

Kategori:Xamarin

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir