我想通过右滑动打开导航 View ,无论右滑动在哪里。默认情况下,您必须在侧面向右滑动,但我想从中间滑动以打开导航 View
最佳答案
您可以使用类似这样的方式增加抽屉的滑动边缘
public static void increaseSwipeEdgeOfDrawer(DrawerLayout mDlSearchDrawer) {
try {
Field mDragger = mDlSearchDrawer.getClass().getDeclaredField(
"mRightDragger");//mRightDragger or mLeftDragger based on Drawer Gravity
mDragger.setAccessible(true);
ViewDragHelper draggerObj = (ViewDragHelper) mDragger
.get(mDlSearchDrawer);
Field mEdgeSize = draggerObj.getClass().getDeclaredField(
"mEdgeSize");
mEdgeSize.setAccessible(true);
int edge = mEdgeSize.getInt(draggerObj);
mEdgeSize.setInt(draggerObj, <size of the edge here>);
} catch (Exception e) {
e.printStackTrace();
}
}
或者你可以在顶部保留一个与抽屉布局大小相匹配的 View ,分配给它以检测滑动并调用 DrawerLayout#openDrawer(android.view.View)。在上面
关于android - 从布局上的任意位置右滑打开 NavigationView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34877797/