场景:老项目没用vue,也不是vue-cli这种开发模式,就是14年那会儿的一个页面,底部一堆js代码。现在我把部分页面改造成了vue模式,但是npm这些工具通通没用,那么要怎么把一些常用函数,比如手机号验证、邮箱验证的函数全部放在util.js文件中,然后在vue的代码块中进行调用?
GITHUB开源项目索引
Java
aurora
基于SpringBoot+Vue开发的个人博客系统
https://www.linhaojun.top
coding-more
coding-more 是一套成熟的学习教程网站,包括前台网站内容展示系统,以及后台网站内容管理系统,采用时下最流行的 Spring Boot + Vue 的前后端分离架构。前台展示系统包括首页门户、文章展示、文章搜索、文章推荐等等模块。后台管理系统包括文章管理、统计报表、权限管理等模块。
重点学习 编程喵(Spring Boot+Vue前后端分离项目)实战笔记
View 滑动冲突解决方式以及原理
一. 滑动冲突场景以及产生原因
产生滑动冲突的场景主要有两种:
- 父ViewGroup和子View的滑动方向一致
- 父ViewGroup和子View的滑动方向不一致
那为什么会产生滑动冲突呢,例如在父ViewGroup和子View的滑动方向一致的情况,我需要让两者都可以滑动。在上篇博客中我们分析了事件分发机制,其中提到ViewGroup的onInterceptTouchEvent方法默认情况下是返回false,也就是ViewGroup默认情况下是不会拦截事件的。当ViewGroup接收到事件时,由于不拦截事件,会去寻找能够处理事件的子View。此时,一旦子View处理了DOWN事件,默认情况下接下来同一事件序列的其他事件都交由子View处理,此时可以看到的效果是子View可以滑动,但是父ViewGroup始终滑动不了,此时滑动冲突就出现了。
滑动冲突之内部拦截法
本次测试采用的是外层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来分析。
知道了以上基本知识点以后,就可以开始了~