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;
}

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

4

1 回答 1

1

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

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

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

祝你好运!

于 2013-04-08T10:12:06.320 回答