Tıklamalara Yanıt Verme
Tıklamalara Yanıt Verme
Artık menüler ayarlandığına göre, 6. adıma geçiyoruz: onlara yanıt verme. Bir menü öğesine tıklandığında, Android, tıklanan menü öğesine bir başvuru ileterek Activity sınıfının onOptionsItemSelected geri arama yöntemini çağırır. Daha sonra, hangi öğe olduğunu görmek için MenuItem üzerindeki getItemId() yöntemini kullanırsınız.
Menü öğelerine yanıt olarak çeşitli işlevleri çağıran bir switch deyimi veya bir dizi if ve else deyimi görmek alışılmadık bir durum değildir. onOptionsItemSelected geri arama yöntemindeki menü öğelerine yanıt vermenin bu standart modelini gösterir.
Ayrıca grup düzeyinde menülerdeki işlemleri uygular; bu yöntemlere yapılan çağrılar kalın harflerle vurgulanmıştır. Kod ayrıca, tıklanan menü öğesiyle ilgili ayrıntıları da TextView’e kaydeder. TextView’e yazmak için bazı yardımcı işlevleri gösterir. Başlığını almak için bir MenuItem üzerinde ek bir yönteme dikkat edin.
Test donanımını oluşturma sürecindeki son adımınız, uygulamanın AndroidManifest.xml dosyasını güncellemektir. Yeni bir proje oluşturduğunuzda sizin için otomatik olarak oluşturulan bu dosya, projenizin kök dizininde bulunmaktadır.
Burası, Activity sınıfını (Örneğin SampleMenusActivity gibi) kaydettiğiniz ve etkinlik için bir başlık belirlediğiniz yerdir.
Sağladığımız kodu kullanarak, menülerle deney yapmak için bu test donanımını hızlı bir şekilde oluşturabilmelisiniz. Size bir metin görünümüyle başlatılan basit bir etkinliği nasıl oluşturacağınızı ve ardından menüleri nasıl doldurup yanıtlayacağınızı gösterdik. Menülerin çoğu bu temel ancak işlevsel modeli izler.
Alıştırmayı bitirdiğinizde ne tür bir kullanıcı arayüzü bekleyeceğiniz konusunda bir rehber olarak kullanabilirsiniz. Ancak belirttiğimiz gibi, gördüğünüz şekil tam olarak eşleşmeyebilir çünkü size simge menülerini nasıl ekleyeceğinizi henüz göstermedik. Resimleriniz bizim kullandığımız resimlerden farklı olabileceğinden, simge menülerini ekledikten sonra bile kullanıcı arayüzünüz farklı olabilir.
Diğer Menü Türleriyle Çalışma
Şimdiye kadar, oldukça işlevsel olmasına rağmen daha basit menü türlerinden bazılarını ele aldık. SDK’yı incelerken, Android’in simge menülerini, alt menüleri, içerik menülerini ve alternatif menüleri de desteklediğini göreceksiniz. Bunların dışında, alternatif menüler Android’e özgüdür. Bu bölümde tüm bu menü türlerini ele alacağız.
Genişletilmiş Menüler
Örnek uygulamanın, menünün sağ alt köşesinde “Diğer” adlı bir menü öğesi görüntülediğini hatırlayın. Bu menü öğesini örnek kodlardan herhangi birine nasıl ekleyeceğinizi size göstermedik, peki bu nereden geliyor?
Bir uygulamanın ana ekranda görüntüleyebileceğinden daha fazla menü öğesi varsa, Android kullanıcının geri kalanını görmesine izin vermek için “Diğer” menü öğesini gösterir. Genişletilmiş menü olarak adlandırılan bu menü, sınırlı bir alanda görüntülenemeyecek kadar çok menü öğesi olduğunda otomatik olarak görünür. Ancak genişletilmiş menünün bir sınırlaması vardır: simgeleri barındıramaz. “Diğer”i tıklayan kullanıcılar, sonuçta simgelerin bulunmadığı bir menü göreceklerdir.
C# checkbox kullanımı
C# checkbox nedir
C# CheckBox
CheckBox Kullanımı
HTML checkbox Kullanımı
CheckBox Özellikleri
C# Radio Button Kullanımı
C CheckBox Checked
Simge Menüleriyle Çalışma
Simge menülerine değindiğimize göre şimdi biraz daha detaylı konuşalım. Android, menü repertuarının bir parçası olarak yalnızca metni değil, aynı zamanda görüntüleri veya simgeleri de destekler. Menü öğelerinizi temsil etmek için metin yerine ve metine ek olarak simgeler kullanabilirsiniz. Ancak konu simge menülerini kullanmak olduğunda birkaç sınırlamaya dikkat edin.
İlk olarak, önceki paragrafta gördüğünüz gibi, genişletilmiş menüler için simge menülerini kullanamazsınız. İkincisi, simge menüsü öğeleri, menü öğesi onay işaretlerini desteklemez. Üçüncüsü, bir simge menü öğesindeki metin çok uzunsa, ekranın boyutuna bağlı olarak belirli sayıda karakterden sonra kesilecektir. (Bu son sınırlama, metin tabanlı menü öğeleri için de geçerlidir.)
Bir simge menüsü öğesi oluşturmak basittir. Daha önce olduğu gibi normal bir metin tabanlı menü öğesi oluşturursunuz, ardından görüntüyü ayarlamak için MenuItem sınıfında setIcon yöntemini kullanırsınız. Görüntünün kaynak kimliğini kullanmanız gerekecek, bu nedenle önce görüntüyü veya simgeyi /res/drawable dizinine yerleştirerek oluşturmalısınız. Örneğin, simgenin dosya adı balon ise, kaynak kimliği R.drawable.balloons olacaktır.
Menüye menü öğeleri eklerken, menu.add yöntemi tarafından döndürülen yerel bir değişkeni tutmanız nadiren gerekir. Ancak bu durumda, simgeyi menü öğesine ekleyebilmeniz için döndürülen nesneyi hatırlamanız gerekir. Bu örnekteki kod ayrıca menu.add yöntemi tarafından döndürülen türün MenuItem olduğunu gösterir.
Menü öğesi ana uygulama ekranında görüntülendiği sürece simge görünecektir. Genişletilmiş menünün bir parçası olarak görüntüleniyorsa simge gösterilmez. Balonların görüntüsünü gösteren menü öğesi, bir simge menü öğesi örneğidir.
Alt Menülerle Çalışma
Şimdi Android’in alt menülerine bir göz atalım. Bir SubMenu’nun bir Menu ve MenuItem ile yapısal ilişkisine işaret eder. Bir Menü nesnesi birden çok SubMenu nesnesine sahip olabilir.
Her bir SubMenu nesnesi, Menu.addSubMenu yöntemine yapılan bir çağrı aracılığıyla Menu nesnesine eklenir. Bir menüye menü öğeleri eklediğiniz gibi, menü öğelerini de bir alt menüye eklersiniz. Bunun nedeni, SubMenu’nun da bir Menu nesnesinden türetilmiş olmasıdır. Ancak, bir alt menüye ek alt menüler ekleyemezsiniz.
Android SDK belgeleri, alt menülerin simge menüsü öğelerini desteklemediğini de belirtir. Bir menü öğesine bir simge eklediğinizde ve ardından bu menü öğesini bir alt menüye eklediğinizde, bir derleme zamanı veya çalışma zamanı hatası görmeseniz bile menü öğesi bu simgeyi yok sayar. Ancak, alt menünün kendisinin bir simgesi olabilir.
Sistem Menüleri İçin Hazırlama
Çoğu Windows uygulamasında Dosya, Düzenle, Görüntüle, Aç, Kapat ve Çıkış gibi menüler bulunur. Bu menülere sistem menüleri denir. Android SDK, bir seçenekler menüsü oluşturulduğunda sistemin benzer bir menü seti ekleyebileceğini önerir.
Ancak, Android SDK’nın 1.0, 1.1 ve 1.5 sürümleri, menü oluşturma sürecinin bir parçası olarak bu menülerin hiçbirini doldurmaz. Bu sistem menülerinin bir sonraki sürümde uygulanabileceği düşünülebilir.
Dokümantasyon, programcıların, bu sistem menülerini kullanılabilir olduklarında barındırabilmeleri için kodlarında hükümler koymalarını önermektedir. Bunu, sistemin CATEGORY_SYSTEM sabiti tarafından tanımlanan bir gruba sistem menüleri eklemesine izin veren üst öğenin onCreateOptionsMenu yöntemini çağırarak yaparsınız.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)