| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android View 关于OnLongClickListener -> 正文阅读 |
|
[移动开发]Android View 关于OnLongClickListener |
View的OnLongClickListener事件实现原理是什么,又是如何触发(postDelayed),长按时间多久呢(0.4s)? 1、通过源码我们发现View.setOnLLongClickListener()方法中:
2、那么它是如何触发长按监听回调的呢,通过监听我们发现它是在performLongClickInternal()触发回调的
3、那么让我来看看上层调用方法: ①、performLongClick()
②、performLongClick(float x,float y)
4、接下来,我们继续看performLongClick(float x,float y)却在CheckForLongPress runnable 中调用,那么长按用就是view.postDelayed()吗? ①、CheckForLongPress类
②、CheckForLongPress创建,确实是通过postDelayed来延迟生效的
③、哪些调用checkForLongClick方法呢? ④、我们发现前五都是View事件,来触发的。 ⑤、那么第六个View.CheckForTap又是干什么呢? ?发现其实也是View.onTouchEvent里面的 MotionEvent.ACTION_DOWN 触发的 自此我们可以说:View.OnLongClickListener 是通过View.postDelayed()触发长按回调。 ?3、触发时间 ①、View.onKeyDown调用:ViewConfiguration.getLongPressTimeout()? ?
②、View.onTouchEvent()调用 MotionEvent.ACTION_DOWN? ?MotionEvent.ACTION_MOVE 通过源码我们发现,一般触发长按事件的时长围为0.4s。 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/14 20:05:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |