如何阻止导航抽屉禁用我的活动?

时间:2016-04-18 07:00:33

标签: android android-navigation-drawer

假设我有一个活动,其中两个片段X和Y并排水平放置,一个隐藏的导航抽屉片段。每当我点击片段X上的按钮时,导航抽屉片段就会从右侧滑动并发生在Y片段上方。当我使其透明时,现在用户可以看到X片段以及水平放置的导航抽屉片段。但是这个导航抽屉片段禁用了X片段,因为它实际上覆盖了活动。如何在导航抽屉打开时保持活动过渡?

1 个答案:

答案 0 :(得分:0)

为您的Navigartion Drawer写一个自定义类

public class CustomDrawer extends DrawerLayout {

public CustomDrawer(Context context) {
    super(context);
}

public CustomDrawer(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public CustomDrawer(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
    View drawer = getChildAt(1);

    if (getDrawerLockMode(drawer) == LOCK_MODE_LOCKED_OPEN && ev.getRawX() > drawer.getWidth()) {
        return false;
    } else {
        return super.onInterceptTouchEvent(ev);
    }
}
}

我有同样的问题。此代码来自此处Make fragment clickable when navigation drawer is opened