iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android应用中的View出现滑动冲突如何解决
  • 958
分享到

Android应用中的View出现滑动冲突如何解决

viewroiandroid 2023-05-31 13:05:27 958人浏览 泡泡鱼
摘要

本篇文章给大家分享的是有关Android应用中的View出现滑动冲突如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、外部滑动方向和内部滑动方向不一致考虑这样一种场景,

本篇文章给大家分享的是有关Android应用中的View出现滑动冲突如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

1、外部滑动方向和内部滑动方向不一致

考虑这样一种场景,开发中我们经常使用ViewPager和Fragment配合使用所组成的页面滑动效果,很多主流的应用都会使用这样的效果。在这种效果中,可以使用左右滑动来切换界面,而每一个界面里面往往又都是ListView这样的控件。本来这种情况是存在滑动冲突的,只是ViewPager内部处理了这种滑动冲突。如果我们不使用ViewPager而是使用ScrollView,那么滑动冲突就需要我们自己来处理,否者造成的后果就是内外两层只有一层能滑动。

情况1的解决思路

对于第一种情况的解决思路是这样的:当用户左右滑动时,需要让外层的View拦截点击事件。当用户上下滑动时,需要让内部的View拦截点击事件(外层的View不拦截点击事件),这时候我们就可以根据它们的特性来解决滑动冲突。在这里我们可以根据滑动时水平滑动还是垂直滑动来判断谁来拦截点击事件。下面先介绍一种通用的解决滑动冲突的方法。

外部拦截法

外部拦截法是指:点击事件都经过父容器的拦截处理,如果父容器需要处理此事件就进行拦截,否者不拦截交给子View进行处理。这种方法比较符合点击事件的分发机制。外部拦截法需要重写父容器的onInterceptTouchEvent方法,在内部做相应的拦截即可。这种方法的伪代码如下:

@Overridepublic boolean onInterceptTouchEvent(MotionEvent ev) {  int x=(int)ev.getX();  int y=(int)ev.getY();  boolean intercept=false;  switch (ev.getAction()){    //按下事件不要拦截,否则后续事件都会给ViewGroup处理    case MotionEvent.ACTION_DOWN:      intercept=false;      break;    case MotionEvent.ACTION_MOVE:      //如果是横向移动就进行拦截,否则不拦截      int deltaX=x-mLastX;      int deltaY=y-mLastY;      if(父容器需要当前点击事件){        intercept=true;      }else {        intercept=false;      }      break;    case MotionEvent.ACTION_UP:      intercept=false;      break;  }  mLastX = x;  mLastY = y;  return intercept;}

--结束END--

本文标题: Android应用中的View出现滑动冲突如何解决

本文链接: https://www.lsjlt.com/news/225661.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android应用中的View出现滑动冲突如何解决
    本篇文章给大家分享的是有关Android应用中的View出现滑动冲突如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、外部滑动方向和内部滑动方向不一致考虑这样一种场景,...
    99+
    2023-05-31
    view roi android
  • Android应用中出现滑动冲突如何解决
    今天就跟大家聊聊有关Android应用中出现滑动冲突如何解决,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。场景一:类似于ViewPager嵌套Fragmnet并且在Fragmnet中...
    99+
    2023-05-31
    android roi
  • Android应用的中滑动事件出现冲突如何解决
    Android应用的中滑动事件出现冲突如何解决?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。外部拦截法外部拦截法是指在有点击事件时都要经过父容器,那么在父容器时如果需要拦截...
    99+
    2023-05-31
    android roi
  • 在Android中使用listview时出现滑动冲突如何解决
    在Android中使用listview时出现滑动冲突如何解决?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Android listview的滑动冲突解决方法在Android开发...
    99+
    2023-05-31
    listview android roi
  • 使用ViewPager2时出现滑动冲突如何解决
    今天就跟大家聊聊有关使用ViewPager2时出现滑动冲突如何解决,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。MainActivity.javapackage com.e...
    99+
    2023-06-14
  • Android应用中SwipeRefreshLayout与ViewPager出现冲突如何解决
    这篇文章给大家介绍Android应用中SwipeRefreshLayout与ViewPager出现冲突如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android 中SwipeRefreshLayout与Vie...
    99+
    2023-05-31
    android swiperefreshlayout viewpager
  • Android应用中ViewPager出现事件冲突如何解决
    这期内容当中小编将会给大家带来有关Android应用中ViewPager出现事件冲突如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Android ViewPager的事件冲突的解决办法@Overr...
    99+
    2023-05-31
    android viewpager age
  • Android应用中ListView与ScrollView出现冲突如何解决
    这期内容当中小编将会给大家带来有关Android应用中ListView与ScrollView出现冲突如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Android ListView与ScrollVi...
    99+
    2023-05-31
    android listview scrollview
  • Android中怎么解决嵌套滑动冲突
    本篇文章为大家展示了Android中怎么解决嵌套滑动冲突,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一.会产生滑动冲突的情况那么什么时候会产生滑动冲突呢?比如你有个activity,activit...
    99+
    2023-05-30
    android
  • Android中DrawerLayout+ViewPager滑动冲突的解决方法
    DrawerLayout 是 Android 官方的侧滑菜单控件,而 ViewPager 相信大家都很熟悉了。今天这里就讲一下当在 DrawerLayout 中嵌套 ViewPager 时,要如何解决滑动冲突的问题,效果如下:首先,让我们先...
    99+
    2023-05-31
    android drawerlayout viewpager
  • Android使用NestedScrollView内嵌RecycleView滑动冲突问题如何解决
    这篇“Android使用NestedScrollView内嵌RecycleView滑动冲突问题如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,...
    99+
    2023-07-02
  • Android之解决RecyclerView与NestedScrollView的滑动冲突方法
    1、解决RecyclerView与NestedScrollView的滑动冲突 问题一:当我们滑动RecyclerView组件时,上方的轮播图并没有进行滑动(NestedScrollView没有滑动,即...
    99+
    2023-09-15
    android java 开发语言
  • Android使用NestedScrollView 内嵌RecycleView滑动冲突问题解决
    目录场景描述实现思路问题和优化优化场景描述 使用NestedScrollView 内嵌RecycleView时,当用户上滑时,NestedScrollView需要首先响应上滑事件,直...
    99+
    2024-04-02
  • Maven中出现JAR包冲突如何解决
    本篇文章给大家分享的是有关出现Maven JAR包冲突如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。JAR冲突产生的原因   Pom.xm...
    99+
    2023-06-06
  • Android进阶 View事件体系(三):典型的滑动冲突情况和解决策略
    Android进阶 View事件体系(三):典型的滑动冲突情况和解决策略 内容概要 本篇文章为总结View事件体系的第三篇文章,前两篇文章的在这里: Android进阶 View事件体系(一):概要...
    99+
    2023-09-02
    android java ui
  • CSS中出现样式冲突如何解决
    今天就跟大家聊聊有关CSS中出现样式冲突如何解决,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 细化选择符通过使用组合器(Combinator)将选择器的描述写得更加精确(参考C...
    99+
    2023-06-08
  • 局域网ip出现冲突如何解决
    这篇文章将为大家详细讲解有关 局域网ip出现冲突如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。工具/原料 电脑操作 路由器 方法/步骤 分析原因:为什么会IP相冲突常见问题:其实IP...
    99+
    2023-06-14
  • 解决 Android 开发过程中 出现 Duplicate class(包冲突)
    现在大部分的项目都是支持 Androidx 的,所以出现 Duplicate 的时候 先把 gradle.properties 文件中添加参数,支持使用AndroidX android.useAndroidX=trueandroid.ena...
    99+
    2023-09-02
    android android studio ide
  • Android项目中使用listview嵌套scrollveiw出现冲突怎么解决
    今天就跟大家聊聊有关Android项目中使用listview嵌套scrollveiw出现冲突怎么解决,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一.使用网上用的动态改变listvi...
    99+
    2023-05-31
    listview scrollveiw android
  • 使用Viewpager时与轮播图出现冲突如何解决
    今天就跟大家聊聊有关使用Viewpager时与轮播图出现冲突如何解决,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。实例如下://解决ViewPager和轮播图滑动冲突@Overrid...
    99+
    2023-05-31
    viewpager age pager
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作