2013-04-08 85 views
1

我想使用android上的菜单按钮使滑动菜单从左至右切换。我面对的问题是,因为我在create方法的主要活动中使用了滑动菜单功能,所以我不会如何在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; 
} 

的问题是,不像大多数情况下,我不延长我与福尔摩斯活动主类,因为我的主类已经扩展了一些其他活动。因此,我以构造函数的形式使用滑动菜单(查看我的示例)。我不知道如何整合切换功能。感谢所有帮助

+0

发布menu_frame xml和activity_main xml代码 – 2013-04-08 09:21:42

回答

1

如果您需要覆盖OptionsMenu方法并且希望此方法公开您的Activity,那么您首先创建Activity到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 
    } 
} 

祝你好运!

+0

谢谢,:),我做了类似的方式。 :) – Mikelbstek 2013-04-09 03:56:51