我需要禁用稀松布上的触摸手势(红色突出显示的部分)。我只想通过滑动来解开抽屉。
问题在于,当抽屉布局打开时,我需要从红色突出显示部分下方的ListView中选择一个元素,发生的事情是抽屉已关闭,只有在这一点上,我才能从ListView中选择一个元素。
我需要直接从ListView中选择元素,同样在打开抽屉时
最佳答案
您必须像这样创建自定义抽屉
public class CustomDrawer extends DrawerLayout {
public CustomDrawer(Context context) {
super(context);
}
public CustomDrawer(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public CustomDrawer(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if(isDrawerOpen(Gravity.START)){
if(event.getX() > getChildAt(1).getWidth()){
return false;
}
}
return super.onInterceptTouchEvent(event);
}
}
注意:
getChildAt(1)
应该是您赋予其重力作为“开始”并且宽度决定打开抽屉宽度的孩子。我希望这可以解决您的问题
关于android - 禁用DrawerLayout的稀松触摸手势,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31718082/