我正在使用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();
我还会附上我绘制的图像,以便更好地解释我想要实现的目标:
答案 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
,它可能有用。