Soru & Cevap

Sliding Menu for Activity

05.02.2015 - 09:49

Merhabalar,

Sliding Menu yapısını Custom olarak oluşturdum fakat bu yapıyı oluşturacağım her bir Activity içinde kullanmak istiyorum örneğin bir sayfa açtım ve üst tarafta o sliding menu yapısının çıkmasını istiyorum bunu nasıl yapabilirim ? 

11 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-12265-1397142254.jpg
gkaradagan
06.02.2015 - 04:17

Fragment şeklinde oluştur slide menuyu eger bir activity de bunu kullancaksan yerıne cagır ve koy kadar

picture-19298-1459404577.jpg
alper_beyler
05.02.2015 - 10:25

tamam bunu yaptım zaten custom sliding menu oluşturdum tek bir Activity altında çalışıyor oda MainActivity. ama ben oluşturduğum Activity lerde bu sliding menu yapısını kullanmak istiyorum BaseActivity den türettim bu Sliding Menu yapısını sonrasında nasıl implement e edicem ? menunun soldan çektiğim an Activity sayfasında da kullanmak istiyorum bu mümkün değil mi ?

Muhammed ÇOBANOĞLU
05.02.2015 - 10:27
MainActivity'de zaten bahsettiğin şekilde menü görünür. Fakat bunun dışında bir activity oluşturup burada görmen maalesef mümkün değil.
Alper Gökhan Beyler
05.02.2015 - 10:38
anladım çok teşekkür ederim. peki 120 tane ekranın var diyelim ve bunların çoğunda üst tarafta bu sliding menu yapısı var menünün içinde ise seçenekler Fragment lar ile açılıyor söylediğin gibi ama bunlar düşün 10 tane geriye kalan sayfalarda bu sliding menusunu nasıl kullanıcam ?
Muhammed ÇOBANOĞLU
05.02.2015 - 10:43
Onlar herhangi bir fragment'ın detay sayfası falan mı? Eğer öyleyse göstermeyebilirsin. Ya da şöyle sorayım. Neden fragment kullanmayıp activity kullanıyorsun. Öyle bir zorunluluğun mu var?
Alper Gökhan Beyler
05.02.2015 - 11:00
dediğim gibi 120 e yakın sayfa var ve çoğunda sliding menu yu kullanmam zorunluğu oluyor ekran tasarımları böyle çünkü
Muhammed ÇOBANOĞLU
05.02.2015 - 11:03
Tamam anladım. Ben de diyorum ki bütün sayfaları niye fragment yapmıyorsun?
Alper Gökhan Beyler
05.02.2015 - 11:11
bütün sayfalar fragment olursa sliding menuyu kullanabilmem için tek bir Activity e bağlı olmam gerekicek bunun bir sürü dezavantajı var örneğin geri tuşuna basınca gidilcek yerin belirlenmesi arkada çalışan logical methodların kontrolu olsun.. bu yapıyı düzenlemek zor oluyo bir sürü ekran var tasarımda dediğim gibi ama bir yolu olmalı ya sliding menu yu activity içerisinde gösterenler nasıl yapıyor
Muhammed ÇOBANOĞLU
05.02.2015 - 11:20
Ben öyle bir şeyin yapıldığını bilmiyorum. Bu iş bence bu kadar da zor değil. Sadece her açılan fragment için bir tag ekleyeceksin. Back tuşuna basıldığında tag kontrolü yapacaksın. Mesela;
MainActivity, Fragment1, Fragment2, Fragment3 şeklinde bir uygulamamız olsun. Her transaction işlemi yapıldığında bir tag ekleyeceksin. Tabi bu tagleri "ConstantValuest" adında bir sınıf oluşturup burada toplarsan sıkıntı olmaz. Back tuşuna basıldığında "getBackStackEntryCount()" ile count'u kontrol edeceksin. Eğer 1 den büyükse MainActivity'e gönder değilse "finish()" ile çıkış yaptır. Bu arada kullanıcı kendi yan menüden MainActivity'e gelmişse onu da kontrol etmelisin tabiki.
Alper Gökhan Beyler
05.02.2015 - 11:34
evet aynen dediğin gibi yapılacak ama düşün 120 sayfa var diyorum bir Activity e bağlı olarak çalışmak mantıklı mı ?
Muhammed ÇOBANOĞLU
05.02.2015 - 11:39
Yapacak başka bir alternatif yoksa en mantıklısı bu:) Benim sana tavsiye edebileceğim farklı bir yol bulunmuyor. Haklısın uğraştıracak ama alternatif yoksa yapacak pek bir şey kalmıyor maalesef.
Alper Gökhan Beyler
05.02.2015 - 11:48
anladım saolasın ilgin için :) bakalım yapmaya çalışıcam bir şekilde..
Muhammed ÇOBANOĞLU
05.02.2015 - 11:54
Rica ederim. Kolay gelsin.
picture-31404-1421919825.png
muhcob
05.02.2015 - 10:17

"Sliding Menu" olayı tek "Activity" birden fazla "Fragment" mantığı ile çalışır. Bu yüzden bir tane "MainActivity" oluşturup menüden açılan her sayfa için bir "Fragment" sınıfı oluşturmalısın. Bu "Fragment"ları sayfa değiştiğinde "MainActivity" içerisinde oluşturduğun "FrameLayout" içerisine "Fragment Transaction" ile eklersin. Bu şekilde açılan her sayfada "Side Menu" görünecektir.