SimpleTouch:事件分发可以如此清晰

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

内容简介:在项目的在项目的

SimpleTouch 为了解决事件分发问题而诞生,该库可以在运行时期打印完整的事件分发流程。

  • 监听 ViewdispatchTouchEventonTouchEventonInterceptTouchEvent
  • 运行时期动态打印事件分发流程。
  • 每一次完整的事件分发记录以 json 的形式写入文件。
  • 去重功能,对相同的 move 事件会自动过滤。
  • 提供 no-op 版本,使用时可区分 debugrelease
  • 提供不同模式显示

使用

添加依赖

在项目的 app 下的 build.gradle 中添加依赖

debugApi 'com.spearbothy:simple-touch:1.0.7'
releaseApi 'com.spearbothy:simple-touch-no-op:1.0.7'
复制代码

初始化

在项目的 ApplicationonCreate() 中调用初始化方法 Touch.inject(this);

Touch.init(this, new Config().setSimple(false));

复制代码

Config 对象提供一些配置选项

public class Config {

    // 输出的日志以极简模式输出
    private boolean isSimple = true;
    // 是否延迟打印日志,延迟打印日志会在触摸事件结束之后打印,并且具有去重功能
    private boolean isDelay = true;
    // 是否保留重复的,默认不保留
    private boolean isRepeat = false;
    // 是否写入到文件
    private boolean isPrint2File = true;
    // 是否处理,不处理则不会监听任何方法,任何功能都无法生效
    private boolean isProcess = true;
}

复制代码

注入代理类(用于监听事件分发)

ActivityonCreate()super.onCreate(savedInstanceState); 之前调用.

@Override
    protected void onCreate(Bundle savedInstanceState) {
        Touch.inject(this);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mRootView = (LinearLayout) findViewById(R.id.root);
    }
复制代码

使用

编译完成之后,打开app,开始触摸吧!!! 每一次手指离开到触摸请间隔大于1s,目的是对于每次触摸加以区分,暂时没想到合适的判断条件。

流程图查看

下拉通知中可以看到SimpleTouch的入口

SimpleTouch:事件分发可以如此清晰

备注

  • 提供了 no-op 版本,该版本中包含有初始化和注入方法的空实现,以达到 debugrelease 使用不同的版本,使 release 不包含任何注入和初始化逻辑。
  • 在注入的时候有点耗时,如果页面过于复杂,会有种页面卡顿的感觉.

引用或借鉴的三方库

com.android.support:appcompat-v7
com.google.dexmaker:dexmaker
com.alibaba:fastjson
com.noober.background:core
com.yuyh.json:jsonviewer

关于

有任何疑问可以通过 issue 或者以邮件的形式发送到 zziamahao@163.com


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

查看所有标签

猜你喜欢:

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

Visual C# 2008入门经典

Visual C# 2008入门经典

James Foxall / 张劼 / 人民邮电出版社 / 2009-6 / 39.00元

《Visual C#2008入门经典》分为五部分,共24章。第一部分介绍了Visual C# 2008速成版开发环境,引导读者熟练使用该IDE;第二部分探讨如何创建应用程序界面,包含窗体和各种控件的用法;第三部分介绍了编程技术,包括编写和调用方法、处理数值、字符串和日期、决策和循环结构、代码调试、类和对象的创建以及图形绘制等;第四部分阐述了文件和注册表的处理、数据库的使用和自动化其他应用程序等;第......一起来看看 《Visual C# 2008入门经典》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

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

在线图片转Base64编码工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具