gpt4 book ai didi

android - 为 Android Navigation Drawer 设置拖动边距

转载 作者:IT老高 更新时间:2023-10-28 21:46:05 26 4
gpt4 key购买 nike

我正在我的应用程序中使用新的抽屉导航。很好,只是我还没有找到一种简单的方法来设置抽屉的打开方式。默认行为是从屏幕的左边缘拖动以打开。这很好,除非手机/ table 上有保护套并且手机边缘无法触摸。我想让用户从屏幕的边缘触摸并拖动到左侧。这很容易与其他抽屉导航库(滑动库)一起设置。不幸的是,我没有看到任何关于 Google 库的内容。

可以使用 NavigationLayout 的 onTouchEvent() 方法。当然,你可以监听所有的触摸事件并触发一个 openDrawer,但希望有一个简单的方法,代码更少。有什么想法吗?

最佳答案

在这里我通过反射找到了解决方案

DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
Field mDragger = mDrawerLayout.getClass().getDeclaredField(
"mLeftDragger");//mRightDragger for right obviously
mDragger.setAccessible(true);
ViewDragHelper draggerObj = (ViewDragHelper) mDragger
.get(mDrawerLayout);

Field mEdgeSize = draggerObj.getClass().getDeclaredField(
"mEdgeSize");
mEdgeSize.setAccessible(true);
int edge = mEdgeSize.getInt(draggerObj);

mEdgeSize.setInt(draggerObj, edge * 5); //optimal value as for me, you may set any constant in dp

关于android - 为 Android Navigation Drawer 设置拖动边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16988597/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com