滑动菜单切换选项

时间:2013-04-08 09:17:14

标签: android menu slidingmenu

我想使用android上的菜单按钮使滑动菜单从左向右切换。我面临的问题是,由于我在创建方法的主要活动中使用了滑动菜单功能,所以我不知道如何在onPrepareOptionMenu方法中使用相同的变量。

SlidingMenu menu;
    menu = new SlidingMenu(this);
    menu.setMode(SlidingMenu.LEFT);
    menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
    menu.setShadowWidth(10);
    menu.setBehindOffset(60);
    menu.setFadeDegree(0.25f);
    menu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW);
    menu.setBehindWidth(400);
    menu.setMenu(R.layout.menu_frame);

这是我用来调用滑动菜单的代码,但是,每当在滑动手势旁边调用菜单按钮时,我想启用切换按钮。

public boolean onPrepareOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.activity_main, menu);
    //try to enable the toggle here so that the sliding menu can appear/disappear
    return true;
}

问题在于,与大多数情况不同,我没有使用Sherlock活动扩展我的主类,因为我的主要课程已经扩展了其他一些活动。因此,我使用构造函数形式的滑动菜单(看看我的例子)。我不确定如何集成切换功能。感谢所有帮助

1 个答案:

答案 0 :(得分:1)

如果您需要覆盖OptionsMenu方法,并且希望此方法公开您的Activity,那么首先要创建Activity to Options菜单,并在您的活动中需要扩展CustomOptionMenuActivity。 例: 1.创建CustomOptionMenuActivity:

public class CustomOptionMenuActivity extends Activity {
    private Menu SlidingMenu;

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        this.SlidingMenu = menu;
        return true;
    }

    public boolean onPrepareOptionsMenu(Menu menu) {
       MenuInflater inflater = getMenuInflater();
       inflater.inflate(R.menu.activity_main, menu);
       //try to enable the toggle here so that the sliding menu can appear/disappear
       return true;
    }
}

然后您可以在任何活动中使用菜单,但您需要扩展此活动。 例如:

public class MainActivity extends CustomOptionMenuActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
       // TODO Auto-generated method stub
    }
}
祝你好运!