如何让杰里米·费因斯坦的SlidingMenu可以点击后面的观点

时间:2015-03-19 15:05:50

标签: java android slidingmenu

我正在使用jeremy feinstein的SlidingMenu作为Android应用。当左侧菜单打开时,我仍然从后面的视图中看到剩余的空间。在剩下的视图中,我有一个按钮,我想处理onClick。但是当我点击它或视图的任何其他部分时,它只会关闭左侧菜单。

我该如何使这项工作?我试图设置sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN|SlidingMenu.TOUCHMODE_FULLSCREEN);,但它没有这样做。这是我的SlidingMenu对象的代码:

    SlidingMenu sm = getSlidingMenu();
    sm.setShadowWidthRes(R.dimen.shadow_width);
    sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
    sm.setFadeDegree(0.0f);
    sm.setMode(SlidingMenu.LEFT_RIGHT);
    sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN|SlidingMenu.TOUCHMODE_FULLSCREEN);

    // set the left menu
    sm.setMenu(R.layout.menu_frame_left);
    getSupportFragmentManager().beginTransaction()
            .replace(R.id.menu_frame_left, new LeftMenuListFragment())
            .commit();

    // set the right menu
    sm.setSecondaryMenu(R.layout.menu_frame_right);
    getSupportFragmentManager().beginTransaction()
            .replace(R.id.menu_frame_right, new RightMenuListFragment())
            .commit();

我还会附上我绘制的图像,以便更好地解释我想要实现的目标:

enter image description here

1 个答案:

答案 0 :(得分:0)

基于jeremy feinstein的SlidingMenu代码,我在常量值上找到了与setTouchModeAbove()一起使用的数值:

/** Constant value for use with setTouchModeAbove(). Allows the SlidingMenu to be opened with a swipe
 * gesture on the screen's margin
 */
public static final int TOUCHMODE_MARGIN = 0;

/** Constant value for use with setTouchModeAbove(). Allows the SlidingMenu to be opened with a swipe
 * gesture anywhere on the screen
 */
public static final int TOUCHMODE_FULLSCREEN = 1;

当你设置sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN|SlidingMenu.TOUCHMODE_FULLSCREEN);时,事实上touchModeAbobe的vaule等于1 {/ 1}}。

我建议你试试1|0,它可能有用。