使用xposed更改掘金的侧滑退出的触发范围(左撇子,掘金的这个侧滑退出的体验一言难尽)

栏目: IOS · Android · 发布时间: 6年前

内容简介:由于个人是左撇子,用左手玩手机居多,刷掘金的时候,因为掘金的侧滑退出的范围是在太大,个人手机x轴上触发范围超过200px,上下滑动详情界面,经常同时触发滑动回退,实讲,体验非常差。1.定位代码位置掘金用了乐加固,直接用apktool无法解出来,脱壳之类的操作,我也还没接触过,所以这里直接在xposed上找了个直接可以更改应用为调试模式(android:debuggable="true")的插件,然后使用androidstudio自带的 Profiler的cup板块,录制一个执行(我的手机还是7.0)

由于个人是左撇子,用左手玩手机居多,刷掘金的时候,因为掘金的侧滑退出的范围是在太大,个人手机x轴上触发范围超过200px,上下滑动详情界面,经常同时触发滑动回退,实讲,体验非常差。

操作

1.定位代码位置

掘金用了乐加固,直接用apktool无法解出来,脱壳之类的操作,我也还没接触过,所以这里直接在xposed上找了个直接可以更改应用为调试模式(android:debuggable="true")的插件,然后使用androidstudio自带的 Profiler的cup板块,录制一个执行(我的手机还是7.0)

使用xposed更改掘金的侧滑退出的触发范围(左撇子,掘金的这个侧滑退出的体验一言难尽)

搜索事件相关的几个方法,因为这个滑动事件是在onTouchEvent中处理的,所以我们可以通过onInterceptTouchEvent来控制拦截(如果用dispatchTouchEvent来处理滑动事件,就不太好弄了~)

2.xposed 大法

Class c = XposedHelpers.findClass("im.juejin.android.base.views.swipebacklayout.SwipeBackLayout"
                , lpparam.classLoader);
        XposedHelpers.findAndHookMethod(c, "onInterceptTouchEvent",
            MotionEvent.class
            , new XC_MethodHook() {
              @Override
              protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                super.beforeHookedMethod(param);
              }

              @Override
              protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                if (param != null && param.args[0] instanceof MotionEvent) {
                  // 获取onInterceptTouchEvent的参数
                  MotionEvent me = (MotionEvent) param.args[0];
                  // thisObject就是SwipeBackLayout也就是View,所以这里直接通过getContext获取context
                  Context context = ((View) param.thisObject).getContext();

                  if (me.getX() < ViewConfiguration.get(context).getScaledEdgeSlop()) {
                    super.afterHookedMethod(param);
                    return;
                  }
                }
                param.setResult(false);
            })    

复制代码

通过以上代码也就简单的实现缩小侧滑触发范围的功能。

终语

其实也向掘金提出过这个侧滑的问题,当然到目前为止的版本都没有调整,这里操作只是为了方便个人的使用。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入理解计算机系统(原书第3版)

深入理解计算机系统(原书第3版)

Randal E.Bryant、David O'Hallaron / 龚奕利、贺莲 / 机械工业出版社 / 2016-11 / 139.00元

和第2版相比,本版内容上*大的变化是,从以IA32和x86-64为基础转变为完全以x86-64为基础。主要更新如下: 基于x86-64,大量地重写代码,首次介绍对处理浮点数据的程序的机器级支持。 处理器体系结构修改为支持64位字和操作的设计。 引入更多的功能单元和更复杂的控制逻辑,使基于程序数据流表示的程序性能模型预测更加可靠。 扩充关于用GOT和PLT创建与位置无关代码的......一起来看看 《深入理解计算机系统(原书第3版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具