我想使用 android 上的菜单按钮使滑动菜单从左向右切换。我面临的问题是,由于我在创建方法的主要 Activity 中使用了滑动菜单功能,所以我不知道如何在 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 Activity 扩展我的主类,因为我的主类已经扩展了一些其他 Activity 。因此,我以构造函数的形式使用滑动菜单(看我的例子)。我不确定如何集成切换功能。感谢大家的帮助
最佳答案
如果您需要重写 OptionsMenu 方法并且希望此方法公开您的 Activity,那么您首先要为 Options 菜单创建 Activity,并且在您的 Activity 中需要扩展 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;
}
}
然后你可以在任何 Activity 中使用菜单,但你需要扩展这个 Activity 。 示例:
public class MainActivity extends CustomOptionMenuActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
}
}
祝你好运!
关于android - 滑动菜单切换选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15875467/