Android开发全屏时系统侧滑返回和抽屉侧滑显示冲突处理
2022-09-22 本文已影响0人
你的益达233
一、前言
碰到这问题,我也是很懵逼的。估计系统侧滑压根就没想过有抽屉侧滑显示这一东西,没有任何回调让你自定义处理。
二、储备知识
- 左侧滑和右侧滑是一样的,都是响应返回,没法区分(如果你有左侧滑抽屉和右侧滑抽屉,这问题无解)
- 系统侧滑会响应onKeyDown(int keyCode, KeyEvent event)方法
三、解决方案
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK){
//返回true拦截掉系统左右侧滑返回,并且打开右抽屉
mBinding.drawerlayout.openDrawer(Gravity.RIGHT);
return true;
}
return super.onKeyDown(keyCode,event);
}