web-dev-qa-db-ja.com

Android左右両側からスライドするスライドメニュー

私は、Facebookアプリのようにスライド式の引き出しメニューを作成しようとしています。私は多くの質問をナビゲートしました この素晴らしい質問のように 。多くのライブラリが見つかりましたが、それらはすべて、左から右へ、または右から左へ、別のライブラリでスライドします。上部のバーにある2つのボタンを使用して、左から右、右から左の両側からスライドさせます。誰でもこれを手伝ってくれる?.

前もって感謝します。

13
M Hassen

これは私が使用するもので、まさにあなたが望むことをします:

SlidingMen

ボタン機能は自分で実装する必要がありますが、それほど難しくないはずです。

編集:

例:

SlidingMenu menuS = new SlidingMenu(this);
menuS.setMode(SlidingMenu.LEFT_RIGHT);
menuS.setMenu(R.layout.slideout_list);
menuS.setSecondaryMenu(R.layout.slideout_list2);

コードが示すように、モードをLEFT_RIGHTに設定する必要があり、左側のメニュー(setMenu())と右側のメニュー(setSecondaryMenu())の両方のレイアウトと、メニューサイズやシャドウなどを指定する他のオプションを指定する必要があります。

19
Koded101

これを試して

https://github.com/srikanthgr/FacebookSlideOutmen

これをプロジェクトに実装します。これはまさにあなたが望むものです。

5
user3217803

この質問は非常に古くなりましたが、Android=に組み込まれています。したがって、人々がこの投稿を検索していた場合は、Androidの開発者ページのナビゲーションドロワーセクションにアクセスしてください。

http://developer.Android.com/design/patterns/navigation-drawer.html

4
NetApex

Jfeinsteinの右から左へのスライドメニューのブランチがあります SlidingMenu original ここにあります https://github.com/jfeinstein10/SlidingMenu/tree/slidingright

または、ここでLeft-to-RightおよびRight-to-Leftから切り替えるための簡単な構成を持つSimonの実装があります: https:// github.com/SimonVT/Android-menudrawer 。ページに簡単な例があります。

私は公に意見を述べるのは好きではありませんが、サイモンのライブラリは少し使いやすいと思います。 ;-)

そうは言っても、私は絶対に奪うjfeinsteinからのいかなる信用もしません。彼のライブラリは、私の優れた販売アプリの1つを支えています。 :-)

4
Siddharth Lele

これを使用してください、それはあなたに良いです:

abstract public class BaseSlideFragmentActivity extends SlidingFragmentActivity implements IActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
    Utils.log(new Exception(), "[onCreate]");
    super.onCreate(savedInstanceState);

    getSlidingMenu().setMode(SlidingMenu.LEFT_RIGHT);
    getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);

    setBehindContentView(R.layout.menu_right);
    getSupportFragmentManager().beginTransaction().replace(R.id.menuRight, new MenuRightFragment()).commit();

    getSlidingMenu().setSecondaryMenu(R.layout.menu_left);
    getSupportFragmentManager().beginTransaction().replace(R.id.menuLeft, new MenuLeftFragment()).commit();

    getSlidingMenu().setShadowWidthRes(R.dimen.shadow_width);
    getSlidingMenu().setBehindOffsetRes(R.dimen.slidingmenu_offset);
    getSlidingMenu().setFadeDegree(0.35f);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    setSlidingActionBarEnabled(false);
}

public Activity getActivity() {
    return this;
}

@Override
public MyApplication getApplicationContext() {
    return (MyApplication) super.getApplicationContext();
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    Utils.log(new Exception(), "[onOptionsItemSelected]");
    switch (item.getItemId()) {
        case Android.R.id.home:
            toggle();
            return true;
        case R.id.setting:
            if (getSlidingMenu().isMenuShowing()) {
                toggle();
            }
            else {
                showSecondaryMenu();
            }
            return true;
    }
    return super.onOptionsItemSelected(item);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    Utils.log(new Exception(), "[onCreateOptionsMenu]");
    getSupportMenuInflater().inflate(R.menu.menu_setting, menu);
    return true;
}

}

3
sonida
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       // setTitle(R.string.attach);
        // set the content view
        setContentView(R.layout.activity_main);

      // configure the Sliding right Menu
        SlidingMenu menuR = new SlidingMenu(this);
        menuR.setMode(SlidingMenu.RIGHT);
        menuR.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);



   //     menuR.setShadowWidthRes(R.dimen.abc_action_bar_default_height);

     // menu.setShadowDrawable(R.drawable.shadow);right menu
        menuR.setBehindOffsetRes(R.dimen.abc_action_bar_default_height);
        menuR.setFadeDegree(0.35f);
        menuR.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        menuR.setMenu(R.layout.right_menu_layout);


      // configure the Sliding left Menu
        SlidingMenu menuL = new SlidingMenu(this);
        menuL.setMode(SlidingMenu.LEFT);
        menuL.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);


     //       menuL.setShadowWidthRes(R.dimen.abc_action_bar_default_height);

     // menu.setShadowDrawable(R.drawable.shadow);left menu
        menuL.setBehindOffsetRes(R.dimen.abc_action_bar_default_height);
        menuL.setFadeDegree(0.35f);
        menuL.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        menuL.setMenu(R.layout.left_menu_layout);


    }
0
Hobii Sgonf