我正在使用jeremy feinstein的Android应用程序的SlidingMenu。打开左侧菜单后,从后面的视图中我仍然有一个剩余空间未被发现。在剩下的视图中,我有一个要处理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();
我还将附上我绘制的图像,以更好地解释我要实现的目标:
最佳答案
根据杰里米·费恩斯坦(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的值是1|0
等于1。我建议您尝试
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
,它可能会起作用。关于java - 如何使Jeremy Feinstein的SlidingMenu的后 View 可点击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29148143/