福清市建设局网站一般做音响的有哪些网站

张小明 2026/1/13 8:27:16
福清市建设局网站,一般做音响的有哪些网站,哪里有做网站较好的公司,试玩网站源码目录 引言:为什么会出现滑动冲突? 一、滑动冲突的三种典型场景 二、触摸事件分发机制回顾 三、解决方案一:外部拦截法 四、解决方案二:内部拦截法 五、解决方案三:NestedScrolling机制(推荐) 六、解决方案四:使用CoordinatorLayout(Google官方方案) 七、最佳实践与性…目录引言:为什么会出现滑动冲突?一、滑动冲突的三种典型场景二、触摸事件分发机制回顾三、解决方案一:外部拦截法四、解决方案二:内部拦截法五、解决方案三:NestedScrolling机制(推荐)六、解决方案四:使用CoordinatorLayout(Google官方方案)七、最佳实践与性能优化八、常见问题与解决方案九、总结在Android开发中,当多个可滚动视图嵌套时,滑动冲突是不可避免的问题。本文将深入探讨嵌套滑动冲突的成因、解决方案和最佳实践。引言:为什么会出现滑动冲突?在Android触摸事件分发机制中,当一个触摸事件发生时,系统会按照特定的顺序将事件传递给视图层级中的各个View。当多个View都可以处理滑动事件时,就会出现"谁来处理"的冲突。特别是在电商、社交等复杂界面中,滑动冲突问题尤为常见。一、滑动冲突的三种典型场景1. 同方向滑动冲突内外层视图都支持同一方向的滑动,例如:ScrollView嵌套ListViewRecyclerView内部包含可滑动的横向列表2. 不同方向滑动冲突内外层视图支持不同方向的滑动,例如:ViewPager内嵌套RecyclerView(水平 vs 垂直)横向ScrollView内部有纵向RecyclerView3. 复杂嵌套滑动冲突多层嵌套视图之间的滑动冲突,例如:CoordinatorLayout + AppBarLayout + ViewPager + RecyclerView二、触摸事件分发机制回顾理解滑动冲突前,先回顾Android事件分发机制:// 事件分发流程Activity.dispatchTouchEvent()-ViewGroup.dispatchTouchEvent()-ViewGroup.onInterceptTouchEvent()// 关键拦截点-View.dispatchTouchEvent()-View.onTouchEvent()事件流向:Activity → Window → DecorView → ViewGroup → View处理顺序:拦截 → 分发 → 消费三、解决方案一:外部拦截法在父容器中决定是否拦截事件,这是最常用的方法。publicclassCustomParentViewextendsFrameLayout{privatefloatmLastX,mLastY;privatebooleanmIsIntercept;@OverridepublicbooleanonInterceptTouchEvent(MotionEventev){booleanintercepted=false;floatcurrentX=ev.getX();floatcurrentY=ev.getY();switch(ev.getActionMasked()){caseMotionEvent.ACTION_DOWN:// 不拦截DOWN事件,否则子View无法接收到后续事件intercepted=false;mIsIntercept=false;break;caseMotionEvent.ACTION_MOVE:if(!mIsIntercept){floatdeltaX=Math.abs(currentX-mLastX);floatdeltaY=Math.abs(currentY-mLastY);// 判断滑动方向if(deltaYdeltaXdeltaYgetTouchSlop()){// 垂直滑动,父容器拦截intercepted=true;mIsIntercept=true;}else{intercepted=false;}}else{intercepted=true;}break;caseMotionEvent.ACTION_UP:caseMotionEvent.ACTION_CANCEL:intercepted=false;mIsIntercept=false;break;}mLastX=currentX;mLastY=currentY;returnintercepted;}privateintgetTouchSlop(){returnViewConfiguration.get(getContext()).getScaledTouchSlop();}}关键点分析ACTION_DOWN必须返回false:否则子View无法接收到事件序列滑动方向判断:根据dx和dy的比例决定谁处理最小滑动阈值:使用getTouchSlop()避免误判四、解决方案二:内部拦截法子View通过requestDisallowInterceptTouchEvent()控制父容器是否拦截。实现示例publicclassCustomChildRecyclerViewextendsRecyclerView{privatefloatmLastX,mLastY;privatebooleanmIsDragging;publicCustomChildRecyclerView(Contextcontext){super(context);init();}privatevoidinit(){// 启用嵌套滑动(如果支持)if(Build.VERSION.SDK_INT=Build.VERSION_CODES.LOLLIPOP){setNestedScrollingEnabled(true);}}@OverridepublicbooleandispatchTouchEvent(MotionEventev){floatcurrentX=ev.getX();floatcurrentY=ev.getY();switch(ev.getActionMasked()){caseMotionEvent.ACTION_DOWN:// 开始时禁止父容器拦截getParent().requestDisallowInterceptTouchEvent(true);mIsDragging=false;break;caseMotionEvent.ACTION_MOVE:floatdeltaX=Math.abs(currentX-mLastX);floatdeltaY=Math.abs(currentY-mLastY);// 判断是否需要父容器处理if(needParentIntercept(deltaX,deltaY)){// 允许父容器拦截getParent().requestDisallowInterceptTouchEvent(false);}elseif(!mIsDraggingdeltaYgetTouchSlop()){mIsDragging=true;}break;caseMotionEvent.ACTION_UP:caseMotionEvent.ACTION_CANCEL:getParent().requestDisallowInterceptTouchEvent(false);mIsDragging=false;break;}mLastX=currentX;mLastY=currentY;returnsuper.dispatchTouchEvent(ev);}privatebooleanneedParentIntercept(floatdeltaX,floatdeltaY){// 子View滚动到顶部且继续下拉if(!canScrollVertically(
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

商汇通网站长沙网站设计服务

让手绘图“开口说话”:Excalidraw 图像 ALT 属性的深度实践 在技术文档、产品原型和架构设计中,一张清晰的图表胜过千言万语。而当 Excalidraw 以其独特的手绘风格成为团队协作的新宠时,我们却常常忽略了一个关键问题:这些精美图…

张小明 2026/1/10 18:18:58 网站建设

手机网站seo免费软件山东建设厅网站扫黑

在多模态AI与全球文娱产业加速融合的今天,IP的形态与生产方式正经历一场根本性变革。IP不再仅仅是依赖灵光一现的创意资产,而是进化为可被标准化、数字化、跨媒介重组的“可计算内容体系”。本报告深入洞察了这一趋势,并指出,AI的…

张小明 2026/1/7 19:19:37 网站建设

全屏响应式网站建设最高法律网站是做啥的

BBDown视频下载工具全面使用指南 【免费下载链接】BBDown Bilibili Downloader. 一款命令行式哔哩哔哩下载器. 项目地址: https://gitcode.com/gh_mirrors/bb/BBDown 还在为无法永久保存B站精彩内容而烦恼吗?BBDown作为一款专业的命令行视频下载工具&#xf…

张小明 2026/1/7 15:29:20 网站建设

钢结构网站建设浙江省建筑工程网

① WisPaper(文献聚类 术语辅助) 官网:https://www.wispaper.ai 帮助快速理解陌生领域的核心概念和研究主题。 ② Elicit 自动列出最相关论文和方法,为跨学科快速扫文献提供便利。 ③ Explainpaper 逐段解释论文内容&#xff0c…

张小明 2026/1/7 17:47:48 网站建设

如何创建网站主页百度seo关键词优化费用

Google镜像站点推荐:科学访问全球AI资源的方法汇总 在大模型技术席卷全球的今天,开发者们却常常陷入一种尴尬境地:明明知道有Llama3、Qwen-VL这样的顶尖模型存在,却因为网络延迟、下载失败或权限限制而“望模兴叹”。尤其在国内环…

张小明 2026/1/7 17:47:46 网站建设

在阿里巴巴做网站多少钱soho外贸建站

对比主流TTS模型:VoxCPM-1.5的优势与性能表现 在语音交互日益普及的今天,用户对“像人一样说话”的AI声音不再满足于“能听”,而是追求“好听”——清晰、自然、富有情感。从智能音箱到数字主播,从有声书到车载助手,高…

张小明 2026/1/9 1:01:04 网站建设