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