相关疑难解决方法(0)

设置Android导航抽屉的拖动边距

我在我的应用程序中使用新的导航抽屉.这很棒,除了我没有找到一个简单的方法来设置抽屉的打开方式.默认行为是从屏幕左边缘拖动到打开.这很好,除非手机/桌子上有一个外壳并且手机的边缘无法触及.我想允许用户从屏幕的边缘触摸并向左拖动.这很容易使用其他导航抽屉库(滑动库)设置.不幸的是,我还没有看到谷歌的lib.

可以使用NavigationLayout的onTouchEvent()方法.当然,您可以收听所有触摸事件并触发openDrawer,但希望以更少的代码轻松实现.有任何想法吗?

android navigation-drawer

32
推荐指数
1
解决办法
1万
查看次数

如何检测导航抽屉外的触摸事件

我在我的应用程序中实现了Android Navigation抽屉.当用户触摸导航抽屉的外侧时,我可以打开/关闭抽屉.当用户触摸/单击导航抽屉侧时,您是否可以帮助我检测触摸/点击事件.我需要在那个事件中执行一些功能.请查看附带的屏幕截图.在此输入图像描述 任何帮助都会得到满足.

android toolbar navigation-drawer

6
推荐指数
2
解决办法
3779
查看次数

DrawerLayout 阻止调用 MainActivity.onTouchEvent()

我有一个应用程序可以覆盖 的onTouchEvent(MotionEvent ev)MainActivity确定Two-Finger-SwipePich-Open/ Pinch-Close。一切正常,直到我将其添加到应用程序中(就像创建导航抽屉DrawerLayout中所述)。问题:阻止在 MainActivity 中调用。DrawerLayoutonTouchEvent()

我开始编写CustomDrawerLayout, 并尝试重写DrawerLayout方法onInterceptTouch()onTouchEvent()

TouchEvent(我发现)将其传输到 MainActivity 的唯一方法:

    // onTouchEvent of CustomDrawerLayout 
    @Override
    public boolean onTouchEvent(MotionEvent ev){
        // super.onTouchEvent(ev); // prevent transmission of TouchEvent
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

这里的问题是抽屉无法正确打开。抽屉卡住了,如这篇文章中所述: DrawerLayout getting 卡在 swipe 上

是否可以将 传输TouchEvent到 MainActivity 来处理 MultiTouchDetection?或者我必须处理这个问题CustomDrawerLayout

更新1

首先,我不得不说,如果我从左边缘滑动,抽屉只会卡住。通过单击ActionBar抽屉中的抽屉图标,效果很好。TouchEvent使用以下代码传输作品。但前提是抽屉打开了!否则Activity.onTouchEvent不叫!

    // onTouchEvent of …
Run Code Online (Sandbox Code Playgroud)

android touch-event drawerlayout

5
推荐指数
1
解决办法
2794
查看次数

防止DrawerLayout处理内容区域中的触摸

通常,当按下内容区域时DrawerLayout,抽屉将关闭并且触摸被消耗.有没有办法防止这种情况并将触摸事件传递到内容区域?

谢谢!

android navigation-drawer drawerlayout

1
推荐指数
1
解决办法
2449
查看次数