11

スライディングメニューのようなフェイスブックをアプリに持たせたかったのです。私はこの問題についてグーグルで検索し、そこにたくさんの投稿を見つけましたが、それは私が単一のスライドメニューを作成するのに役立っただけでした。しかし、私が必要としているのは、2レベルのスライディングメニューです。つまり、スライディングメニューのオプションをクリックすると、以下に示すように、zomatoアプリのようにその上に別のスライディングメニューが開きます(最初のスライディングメニューはこの時点でぼやけます)。JFeinsteinスライディングメニューライブラリを試してみましたが、それを使用して2レベルのスライディングメニューを作成できました。これを実現する他のライブラリはありますか、それとも自分でライブラリを構築する必要がありますか?

以下に示すのは、Zomatoアプリのスライドメニューです。

ここに画像の説明を入力してください

上に表示されているメニューの[場所]オプションをクリックすると、下に示すように2番目のメニューが開きます。同じ機能が欲しかった。

ここに画像の説明を入力してください

4

2 に答える 2

6

1つの画面表示に複数の深度データを効果的に表示するためのスライディングインタラクションを備えた複数のオーバーレイビューを有効にするウィジェットであるスライディングパネルコンポーネントを確認してください。

また、参照されている実装のデモも提供しており、確認することもできます。

ありがとう。

于 2013-03-07T06:50:55.920 に答える
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

    }
}

出力は次のとおりです。

ここに画像の説明を入力してください

注: JFeinsteinスライディングメニューをライブラリとしてインポートし、SlidingFragmentActivityからアクティビティを拡張する必要があります。

于 2014-02-25T11:19:14.863 に答える