2013-03-07 148 views
10

我希望我的應用程序具有滑動菜單等臉書。我谷歌關於這個問題,並發現了很多帖子,這只是幫助我建立一個滑動菜單。但我需要的是,2級滑動菜單,即當我點擊滑動菜單中的某個選項時,它應該在其上面打開另一個滑動菜單(第一個滑動菜單應該模糊此處),如下面所示的zomato應用程序。我嘗試使用JFeinstein滑動菜單庫,但是我可以使用它創建2級滑動菜單。有沒有其他圖書館來實現這一目標,或者我應該自己創建一個嗎?Android - 帶子菜單的滑動菜單

下面顯示的是從Zomato應用滑動菜單:

enter image description here

當我在上面顯示菜單上的「位置」選項點擊,它就會打開一個次級菜單,如下所示。我想要相同的功能。

enter image description here

+3

想象第二個滑動菜單是新菜單,因此將其他滑動菜單分配給第二個滑動菜單,就像創建雙滑動菜單一樣,有什麼困難? – Daler 2013-03-07 06:30:51

+0

@Daler I dint試試這個bcox我希望二級菜單是一個二級菜單,而不是新菜單,我的意思是當我點擊第一個菜單選項時,它應該變得模糊並且進入第二個菜單後面。 – 2013-03-07 06:34:42

+0

@Daler能否以更清晰的方式提出您的第一條評論? – 2013-03-07 07:22:59

回答

6

檢查出Sliding Panel component窗口小部件能夠與滑動相互作用用於有效地示出在一個屏幕中顯示多個深度數據的多個重疊的視圖。

它還提供了參考實現的demo,你也可以檢查它。

謝謝。

+0

我剛剛下載演示來檢查它是如何工作的。我導入並嘗試運行它,但它crahses離開logcat消息如下所示http://pastebin.com/6iKBJ98i – 2013-03-07 07:07:52

+0

@sureshcheemalamudi嗨,你能找到解決方案這個要求。我有完全相同的要求,獲得2級滑動菜單,直到現在還沒有運氣。你能幫忙嗎?謝謝。 – jasdmystery 2013-03-11 08:44:54

+0

非常錯誤和緩慢的組件 – agamov 2013-10-13 14:27:41

3

您可以使用JFeinstein滑動菜單輕鬆添加任意數量的菜單級別。這個想法是使用滑動菜單作爲主滑動菜單的左側或右側滑動視圖等等。完整的帶有註釋和輸出的2級菜單代碼被添加,使事情更清晰。

public class MainActivity extends SlidingFragmentActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // dummy views - content view 
     TextView content = new TextView(this); 
     content.setBackgroundColor(Color.WHITE); 
     content.setText("content"); 
     // Menu view 
     TextView menu = new TextView(this); 
     menu.setBackgroundColor(Color.GREEN); 
     menu.setText("menu"); 
     // 2nd level menu view 
     TextView subMenu = new TextView(this); 
     subMenu.setBackgroundColor(Color.LTGRAY); 
     subMenu.setText("submenu"); 


     //configure sliding menu 
     SlidingMenu sm = getSlidingMenu(); 
     sm.setMode(SlidingMenu.SLIDING_WINDOW); 
     sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 
     sm.setBehindOffset(80); 
     sm.setBehindScrollScale(0.25f); 
     sm.setFadeDegree(0.25f); 

     //Another sliding menu - for 2nd level or sub menu 
     SlidingMenu leftSlidingView = new SlidingMenu(this); 
     leftSlidingView.setMode(SlidingMenu.SLIDING_WINDOW); 
     leftSlidingView.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 
     leftSlidingView.setBehindOffset(80); 
     leftSlidingView.setBehindScrollScale(0.25f); 
     leftSlidingView.setFadeDegree(0.25f); 

    //==== Required instruments has been created ;) lets put them at right places 

     // setting menu and sub-menu view 
     leftSlidingView.setContent(menu); // at center of left sliding view 
     leftSlidingView.setMenu(subMenu); // at left of left sliding view 

     //set content view 
     setContentView(content);   // at center of main sliding view 
     // finally, set leftSlidingView as behind content view of main view 
     setBehindContentView(leftSlidingView); // at left of main sliding view 

    } 
} 

這裏是輸出:

enter image description here

注:您需要導入JFeinstein滑動菜單庫,並從SlidingFragmentActivity拓展業務。