SwipeMenuLayout icon indicating copy to clipboard operation
SwipeMenuLayout copied to clipboard

1.05滑动后 大概率 划回去

Open luckycloves opened this issue 5 years ago • 2 comments

感觉像是自动点了点击事件关闭

luckycloves avatar May 20 '20 02:05 luckycloves

作者加的代码,互动距离超过侧滑菜单的宽度就会归位;

//超过范围的话--->归位
                //目前是右滑的话 (菜单在左边)
                if (isEnableLeftMenu) {
                    if (getScrollX() < -mMenuWidth) {
                        scrollTo(-mMenuWidth, 0);
                    } else if (getScrollX() > 0) {
                        scrollTo(0, 0);
                    }
                } else {
                    if (getScrollX() < 0) {
                        scrollTo(0, 0);
                    } else if (getScrollX() > mMenuWidth) {
                        scrollTo(mMenuWidth, 0);
                    }
                }

真搞不懂为啥要有这奇葩功能,滑动距离超过侧滑菜单宽度居然要归位; 注释掉277行代码就行了

caik13 avatar Aug 20 '21 08:08 caik13

作者加的代码,互动距离超过侧滑菜单的宽度就会归位;

//超过范围的话--->归位
                //目前是右滑的话 (菜单在左边)
                if (isEnableLeftMenu) {
                    if (getScrollX() < -mMenuWidth) {
                        scrollTo(-mMenuWidth, 0);
                    } else if (getScrollX() > 0) {
                        scrollTo(0, 0);
                    }
                } else {
                    if (getScrollX() < 0) {
                        scrollTo(0, 0);
                    } else if (getScrollX() > mMenuWidth) {
                        scrollTo(mMenuWidth, 0);
                    }
                }

真搞不懂为啥要有这奇葩功能,滑动距离超过侧滑菜单宽度居然要归位; 注释掉277行代码就行了

是 dispatchTouchEvent 判断是否划出来菜单的判断 认为是 已经划出Item了 直接拦截 UP事件导致无法打开Item 改成

198行 改成 if (Math.abs(getScrollX()) == Math.abs(mMenuWidth) && mCacheView != null) {

Klosw avatar Aug 21 '23 06:08 Klosw