Android Navigation Drawer ile Slider Menü Yapımı

Merhaba arkadaşlar,
mobilhanem.com sitemiz üzerinden anlattığımız/yayınladığımız derslerimize Androidde Navigation Drawer kullanarak Slider Menü yapımını ile devam ediyoruz. Slider menü belli bir bir butona basıldığında ekranın sağından veya solundan(genellikle solundan) slide efekti ile açılan menüdür. Bugün çoğu uygulama bu menüyü kullanmakta(gmail,youtube,facebook vs..).Biliyorsunuz ki androidin bize sunduğu Option Menü vardı. Ama bu menü hem tasarım bakımından hemde kullanışlılık bakımından çok işlevsel değil.İlk çıkan uygulamalarda bu menü kullanılmakta idi ,ancak yeni çıkan uygulamaların çoğu menü tercihini slider menüden yana kullanmakta.

Android Navigation Drawer
Android Navigation Drawer
Bende bu dersimizde bu menüyü nasıl oluşturacağımızı ve uygulamamızda nasıl kullanacağımızı anlatacağım. Navagiton Drawer hakkında daha detaylı bilgi isterseniz buradan bu bilgiye ulaşabilirsiniz.

Ben bu dersimde her zaman sitem için örnek aldığım androidhive.net sitesindeki Slider Menü dersinden yararlandım.Anlattığı dersi hem türkçeleştirerek ,hem daha kullanılabilir hale getirerek, hemde faklı özellikler ekleyerek sizlere sunmaya çalıştım.Sizler direk benim sitemden kaynak kodu indirip sadece Menü item adlarını ekleyip üzerinde uygulama geliştirmeye başlayabilirsiniz.

Slider Menü kullanabilmek için androidde fragment yapısına biraz hakim olmak gereklidir. Benim kendi sitemde fragmentlar hakkında dersim bulunmamaktadır(İlerleyen zamanlarda eklenebilir). Fragmentlar hakkında bilgiyi yine androidin kendi sitesinden elde edebilirsiniz.Ama kısaca fragment ne işe yarar derseniz “kesinlikle tam cevabı olmamakla birlikte” bir activity üstünde farklı bir sayfa acmak yada bir layout üstünde başka bir layout açmaya yarıyor diyebilirim. Tabi daha bir sürü kullanım alanı var ama biz dersimizde o şekilde kullanıcağız.

Fragment dışında androidde ListView yapısınada hakim olmak gerekiyor. Sonuçta menü elemanları ListView üzerine sıralanıyor.Listview hakkında detaylı dersime buradan ulaşabilirsiniz.

Gelelim bizim uygulamamıza.Arkadaşlar ben her zamanki gibi kod üzerinde gerekli açıklamaları yapmaya çalıştım.Burda tüm kodları paylaşmayacağım.Kaynak kodu indirip inceleyebilirsiniz.

MainActivit.java

Evet arkadaşlar bu sadece MainActivity kısmı bu dersimizde fazla kod olduğu için geri kalanını paylaşmıyorum.Kaynak koddan inceleyebilirsiniz.

Bu derste anlatmak istediklerim bu kadar. Aklınıza takılan yada eklemek istediğiniz bir husus olursa çekinmeden yorum bırakabilirsiniz. En kısa sürede cevap vermeye çalışıyorum. Sizlerden ricamız facebook.com/mobilhanem sayfamızı beğenmenizdir.

Bir dahaki dersimde RSS Reader yapımını yani bir nevi XML Parse etmeyi anlatmaya çalışacağım. Bir dahaki dersimde görüşmek dileğiyle kendinize iyi bakın.

Taha Kırca

iOS & Android & Apple Watch Developer, Mobilhanem.com yazarı, Karadeniz Uşağu, Ordu Sevdalısı

33 Yorum

  • Öncelikle sizi tebrikediyorum. Acaba uygulamada kullandığınız iconları nasıl oluüturduğunuzu paylaşa bilir misiniz?(icon yapma ya da bulma kısmı biraz sıkıntılı oluyorda)

  • Hocam mükkemmel ve pürüssüz anlatıyorsunuz teşekkür ederiz ilginize emeğinize alakanıza umarım çok daha iyi yerlere gelip bizlere daha çok paylaşımda bulunursunuz 🙂

    • Güzel yorumun için ben teşekkür ederim. Bu şekil kaynak kodlu uygulamalar paylaşmaya devam edeceğiz.Önce bir tasarım değiştirip sonrasında daha faydalı yazılar ile yola devam edeceğiz.

  • Hocam google maps api kullanarak yaptığım bi uygulama var fragmentactivity kullanmam gerekiyor dolayısı ile. bu uygulamaya navigation drawer yerleştirmemiz mümkün mü?

    • Sormak istediğin fragmentlar yerine fragment activity kullanabilir miyim?
      Ama ne yazık ki Navigation Drawerla birlikte fragment activity leri kullanamıyoruz.Herbir sayfanın fragment olması gerekli.Bende bir projede çok uğraşmıştım ancak bir çözüm elde edememiştim.

        • Bunun için bende çok uğraştım. Aynı şekil açılan sayfalardan birinde tabbar yapısı olmasını istiyorsan FragmentActivity kullanman gerekiyor. Ne yolu denediysem çözemedim. Android yazılımcılarının bir tanesine sormuşlar o ikisinin Navigation Drawer menu ile fragment activity’nin bir arada kullanılmadığını söylemiş. O zamanki araştırmalarımda bulmuştum .Ama aynı şekilde bu yapıyı google play,google müzik gibi yapılar kullanıyor. Heralde orda kullanılan yapı Drawable Navigation Bar değil diye tahmin ediyorum.
          Action Bar Sherlock kullanmayı denedin mi?

          • Action Bar Sherlock u da beceremedim biraz acemiyim bu konularda. yürümeden koşmaya çalışmak benimki galiba

  • sitenizdeki kaynak kodlar indiğimde rar dosyaları bozuk çıkıyor.Kontrol edebilir misiniz sıkıntı bendemi?

  • İyi günler ben projeyi kendi projeme kopyalarken böyle bir sorunla karşılaştım bir türlü çaresini bulamadım yardmcı olurmusunuz.

  • Hocam öncelikle çalışmalarınız için teşekkür ediyorum. Gerçekten çok faydalı bir site olmuş iki tane örneğiniz çok işime yaradı. Bu örnekle ile ilgili de bu menüyü yatay nasıl yaparız yardımcı olabilir misiniz üstt e çıkması için vertical horizantel gibi birşey aradım ama bulaamdım

  • selamunaleyküm…paylaşımınızdan dolayı çok teşekkür ederim.Ben vermiş olduğunuz kodu kendi projeme uyguluyorum ama internet sayfam açılmıyor. eğer vakit ayırabilirseniz bunu en başından bir proje oluşturarak adım adım nasıl yapılacağını resim yada video destekli olarak anlatabilirseniz çok memnun olurum.

  • Ben gazete uygulaması yapmak istiyorum. Bu menulere link eklemem gerekiyor. Bunu nasıl yapabilirim.Şimdiden teşekkürler.

  • Öncelikle paylaşımlarınız cok güzel sizleri tebrik ederim. Başarılarınızın devamını dilerim. Anlatımınıza uyarak cok güzel bir menu yaptım. Ben web sitem için bir uygulama yapıyorum. Menude örnek veriyorum Facebook var buna tıklandıgında benim facebook sayfama yönlendirsin istiyorum. bana yardımcı olursanız cok sevinirim. farklı şekiller denedim onclicklistener oluşturim dedim ama sanırım yanlış yerlerde yapıorum olmuor ya da cok yanlış şeyler denedim bilemiyorum. Menu kusursuz calışıyor bu yönlendirmeleri de yapabilirsem uygulamam hazır olacak. Yardımlarınız için şimdiden teşekkür ederim.

  • Hocam bende menü yapmaya çalışıyorum.Android studioda proje oluştururken drawer manüsünü seçtim bu menü üzerinde çalışıyorum fakat ekledigim iconlar mat duruyor iconalar renkli normalde bir türlü çözemedim

    • Kullandığın Android theme sı ile ilgili birsey olabilir mi? Sorunu çözdün mü bende merak ettim eğer çözemediysen araştıracam biraz daha. Çözdüysen çözümü paylaşırsan sevinirim.

  • merhaba ben bı konuda yadımıznız ıstıyorum,ben bu menuyu yaptım ama kendıme gore uyarladım.Orada yer alan profil yerine Hareketler die bi bölum actım .Amacım hareketlere basılınca listwiev olussun ve her liste dekı maddeye basılınca da haerekelter gelcek saga dogru kaydırıldıkca haerekler gösterliecek.Ama burada Hareketler e basılınca listwiev i nasıl olustruacagımı bilmiyorum.Nasıl yapabılılrm? resimlerini attım asagıdakı gıbı hareketlerı tek tek kaydırarak gösterecem amaondan once listview nasıl olustrucam onu bilmiyorum.

  • Merhabalar ic_search iconu setvisible etmek istiyorum fakat button clickinde menu nesnesi null dusuyor
    public void setIndicatorIcon(int index) {
    if (menu != null){

    MenuItem item_down = menu.findItem(R.id.action_search);

    item_down.setVisible(false);

    }

    }

  • Merhaba kaynak kodu kendi projemde kullanmak istiyorum.MainActivity.java dosyasında menulist ve menuIconList ifadelerinde R.array kısmında cannot resolve symbol ‘array’ hatası veriyor.
    Yardımcı olabilir misiniz?
    Teşekkürler.

  • Selamin aleyküm hocam bu fragment da webview ve admobu nasıl kullancağız biraz yardimcı olabilir misin?

  • Merhaba,

    Öncelikle yazılarınız çok güzel. İlk başta önyargılıydım Türkçe siteleri geçiyordum. Ama sizinkiler gayet güzel ve açıklayıcı. Mantığına kadar açıklıyorsunuz. bir sorum olacak. Bu ActionBarToggle’ı kullanıyorum ancak drawer viewler actionbarın üstünde açılıyor. Ben altında açılması istiyorum. Yeni versiyonlarda bunu illa actionbarın üstünde mi göstermeye zorluyor? bu arada actionbar yok aslında. Ben custom toolbar set ediyorum actionbara.

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?