Merhaba arkadaşlar. Daha önceki yazılarımda, ekranın alt kısmında menülerin oluşturulmasını anlatmıştım. Şimdi de üst kısımda bir nevi menü görevi yapan tab sekmelerinden bahsedeceğim. Bu işlemi, tabhost aracılığıyla yapıyoruz.
İlk olarak bir proje oluşturalım ve gelen sayfamızın xml dosyasına şu kodları yazalım.
Burada, sayfamızın üstteki paneli için bir tab panel yaptık ve sayfayı yatay olarak kaplamasını sağladık. Bunu yazdıktan sonra activity_main.xml dosyamızın görünümü şu şekilde olacaktır.
Burada soldaki gibi sayfa1 ve sayfa2 adında 2 sayfa ekleyelim ve bunları birbirine bağlayalım. Daha sonra manifest dosyamıza gelelim ve bunları tanıtalım. Eklememiz gereken kod aşağıda dikdörtgen içine alınan koddur.
Bunları yaptıktan sonra sayfa1 ve sayfa2 java dosyalarının içine yazılması gereken kodu verelim.
Burada sadece bağlamaları yaptık. Bu sayfalara karşılık gelen xml dosyalarını yani sayfanın kendisini de gösterelim. Ben bunların sayfalarına aşağıdaki gibi birer textview ekledim.
Yapmamız gereken son işlem kaldı. Burada da MainActivity.java dosyasını kodlayacağız. Burada tüm tab işlemlerini yapacağız. Tab’larımıza resim koyacağız. Şimdi bunu kodlayalım ve anlatalım.
İlk olarak bir icon oluşturun ve bunu soldaki panelden drawable-hdpi klasörüne sürükleyip bırakın. Ben bir tane oluşturdum ve bu klasöre attım.
1 => Burada sınıfımızı Activity değil TabActivity sınıfından extends etmemiz gerekiyor.
2 => Burada java dosyamızı, xml sayfamıza bağladık.
3 => Burada bir tabhost nesnesi oluşturduk ve id‘si ile bağladık.
4 => Burada 2 adet TabSpec nesnesi oluşturduk. Bunlar, yukarıda çıkacak olan tablarımızdır. Burada tırnak içindeki isimler, manifest içindeki isimlerdir.
5 => Burada bir nevi tab’ları, sayfaları ile ilişkilendirdik. Buradaki ilk parametre, tab’ın ismidir. Drawable parametresinde de iconumuzu belirttik.
6 => Burada son olarak bu tab1 ve tab2 nesnelerini, tab panel’e ekledik.
Ekran Görüntüleri
Bu derste de tab’ların kullanımını anlattım. Diğer derslerde görüşmek üzere.
Merhaba Mehmet,
Tebrik ederim yazıların gayet güzel. Fakat belirtmek isteyerim ki TabHost deprecated oldu. Onun yerine aynı görevi gören ve biraz daha kullanışlı olan FragmentTabHost kullanmanı öneririm.
İyi çalışmalar.
Teşekkür ediyorum. Önerinizi dikkate alacağım.
Merhaba,
Konuyla ilgili bir sorum olacak. Anasayfadan tab lı sayfaya geçişte istediğimiz tab sekmesini ekrana nasıl getirebiliriz?
Teşekkürler
Kolay gelsin.
Merhaba,
Gayet anlaşılır ve yararlı bir paylaşım olmuş teşekkürler.
Yalnız bir sorum olacak. Android te oluşturduğum tab uygulamasını aynı ölçüt ve içerikle PC tarafındada oluşturup bu tabları pc tarafından yönetmek istiyorum. Yani mesela java kullanarak oluşturduğum aynı içerikli uygulamada bir tab a tıkladığımda, androidte de eş zamanlı bir algılama olsun. Bunu nasıl gerçekleştirebilirim? Bu konu hakkında önerebileceğiniz herhangi bir kaynak var mı?
Yardımcı olursanız çok sevinirim.
Bu konuda bilgim yok ama yapılabilir bir şey. Bluetooth ya da wifi ile yapılabilir diye düşünüyorum.
Anladım teşekkürler yine de.
Tab’lar arasında geçişi kaydırma ile yapabilir miyiz ?
Hayır. onun için Fragment tab kullanmanız gerek