本次测试采用的是外层ScrollView
,内层ListView
,(注:ListView
显示不全的问题不在本次讨论范围)
android中的dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent
android中,触摸事件的传递过程主要涉及三个方法:dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent。
详细了解这三个方法的作用首先要了解以下几个知识点:
- android中的Touch事件都是从ACTION_DOWN开始的:
单指:ACTION_DOWN->ACTION_MOVE->ACTION_UP;
多指:ACTION_DOWN->ACTION_POINTER_DOWN->ACTION_MOVE->ACTION_POINTER_UP->ACTION_UP - 一次完整的触摸事件中,Down和Up都只有一个,Move有若干个,可以为0个。当触摸事件被拦截时,Up可能是0个。
- View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析。
知道了以上基本知识点以后,就可以开始了~
用Android Studio的Profiler查看网络请求
如果是自己的项目,要查看后台接口返回的数据,除了用第三方工具抓包,也可以使用Android Studio自带的Profiler查看网络请求:
利用网络性能剖析器检查网络流量
要注意的一点是:Android Studio 4.1版本,如果是使用华为或者小米手机的话,开启Profiler会出现闪退,原因未知,看网络请求的话可以使用模拟器。
Kotlin 中的 let, with, run, apply, also 等函数的使用
前言
和严格古老的 Java 相比,Kotlin 中额外提供了不少高级语法特性。
这些高级特性中,定义于 Kotlin 的 Standard.kt
为我们提供了一些内置拓展函数以方便我们写出更优雅的代码。