2013-03-07 3 views
10

私のアプリにはスライディングメニューのような顔の本が欲しいと思っていました。私はこの問題についてgoogle'dし、そこに多くの記事を見つけました。これはただ一つのスライドメニューを作成するのに役立ちました。しかし、私が必要とするのは、2レベルスライディングメニューです。すなわち、スライディングメニューでいくつかのオプションをクリックすると、以下に示すように、zomatoアプリケーションのように、別のスライディングメニューが表示されます。私はJFeinsteinスライディングメニューライブラリで試しましたが、私はそれを使用して2レベルのスライドメニューを構築することができました。これを達成するための他のライブラリはありますか?以下に示すAndroid - サブメニュー付きスライディングメニュー

はZomatoアプリからメニューをスライドさ:

enter image description here

iは、上に示したメニュー上の「位置」オプションをクリックすると、以下に示すように、それは二次メニューを開きます。私は同じ機能が欲しかった。

enter image description here

+3

2つ目のスライドメニューが新しいメニューであることを想像してください。2つ目のスライドメニューを作成するのと同じようにもう1つのスライドメニューを割り当てます。 – Daler

+0

@Daler私はこの1つを試してみましたbcox 2番目のレベルのメニューは2番目のメニューではなく新しいメニューにしたいと思っていました。最初のメニューオプションをクリックすると、ぼやけて2番目のメニューの後ろに行くはずです。 –

+0

@Dalerはあなたの最初のコメントをより明確に説明できますか? –

答えて

6

チェックアウトSliding Panel component効果的に1つの画面表示で複数の深度データを表示するための相互作用を摺動有する複数オーバーレイビューを可能にするウィジェット。

参照実装のdemoも提供しています。確認することもできます。

ありがとうございました。

+0

デモをダウンロードしてどのように動作するかを確認しました。私はインポートし、それを実行しようとしましたが、ここに示すようにlogcatメッセージを残していませんhttp://pastebin.com/6iKBJ98i –

+0

@sureshcheemalamudiこんにちは、あなたはこの要件の解決策を見つけることができましたか?私は全く同じ要件を持っています.2レベルのスライディングメニューを手に入れることができます。助けてもらえますか?ありがとう。 – jasdmystery

+0

非常に不便なコンポーネント – agamov

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からあなたの活動を延長する必要があります。

関連する問題