我想使用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活动扩展我的主类,因为我的主要课程已经扩展了其他一些活动。因此,我使用构造函数形式的滑动菜单(看看我的例子)。我不确定如何集成切换功能。感谢所有帮助
答案 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
}
}
祝你好运!