文档章节

解决ScrollView与ViewPage滑动冲突的问题

狗哥曾年轻过
 狗哥曾年轻过
发布于 2016/01/12 00:49
字数 248
阅读 107
收藏 3
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical" android:layout_width="match_parent"
   android:layout_height="match_parent">
           <com.blackdog.baiduui.view.MyScrollerView
               android:layout_width="match_parent"
               android:layout_height="match_parent">
               <RelativeLayout
                   android:layout_width="match_parent"
                   android:layout_height="match_parent"
                   >
                   <com.blackdog.baiduui.view.MyAdScoll
                       android:id="@+id/myAdScoll"
                       android:layout_width="match_parent"
                       android:layout_height="300dp"/>
               </RelativeLayout>

           </com.blackdog.baiduui.view.MyScrollerView>



</LinearLayout>

时间的分发机制:首先会把触摸事件传给最外层的LinearLayout,然后在依次往下传给MyScrollerView(他是继承ScrollerView)然后在传给RelativeLayout然后才传给ViewPage,所有在传递的时候会出现MyScrollerView与Viewpage的滑动冲突。

解决方法:1、自定义一个类继承与ScrollerView

                2、重写这个类的onIterceptTouchEvent()方法

                3、在方法中通过判断手势是横向的还是竖直的

                4、如果是横向的(既是Viewpage的滑动事件),就return false:代表自己本身不处理这个事件,交给下一级处理。

下面是代码:

==(MotionEvent ev) {
    (ev.getAction()){
        MotionEvent.:
            = ev.getX()= ev.getY()MotionEvent.:
            += Math.(-ev.getX())+= Math.(-ev.getY())= ev.getX()= ev.getY()(>){
                }
            }
    .onInterceptTouchEvent(ev)}


© 著作权归作者所有

上一篇: android 学习
下一篇: android 学习
狗哥曾年轻过
粉丝 1
博文 5
码字总数 1930
作品 0
私信 提问
Gallery与ScrollView滑动冲突问题的处理[魔豆之路]

ScrollView内部嵌入Gallery,现象: 这个时候 ScrollView的上下滑动和Gallery的左右滑动都是正常的。但是 Gallery内的Image显示是发生偏移的,上面会截掉一段图片顶部~ 下面会多显示一段黑色...

mythroad
2013/08/05
670
1
ScrollView嵌套ScrollView的滑动冲突

结论: 在自定义控件中如下重写就告诉所有父View:不要拦截事件,让我消费!! 这是一个从源码角度分析滑动冲突的原因 以及在源码中理解为何能解决滑动冲突 这是MainActivity主界面的布局内容...

William_Huang
2018/03/16
0
0
ScrollView 与 ListView 以及 GridView 滑动冲突完美解决

我们在用ScrollView嵌套ListView或者GridView的时候会遇到两个问题,一个问题是ListView高度不正常,另外一个问题是ListView无法滑动。因为这几个控件太常用了。我们来看看应该怎么解决呢?在...

chenhongjiang
06/03
35
0
安卓ScrollView嵌套RecyclerView,GridView,ViewPager冲突解决

如题,就把项目中常见的这几个冲突总结下吧,记性不太好,还是写下来好了。 ScrollView嵌套RecyclerView 滑动不流畅冲突:在RecyclerView属性中加入 使recyclerview的滑动跟随scrollveiw sc...

深情不及酒伴
2017/09/04
0
0
解决右滑返回手势和UIScrollView中的手势冲突

项目中遇到一个页面中是以一个scrollview横向Tab展示两个不同功能的显示,譬如消息和公告功能,但是由于滑动返回手势和scrollview的滑动返回手势冲突了,导致页面不再能够滑动返回。类似的还...

城市之光
2016/03/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

zk中leader和follower启动时信息交互

QuorumPeer中读取节点状态信息,不同状态下设置不同角色 1 Leader启动Follower接收器LearnerCnxAcceptor LearnerCnxAcceptor负责接收非leader连接请求,线程中创建LearnerHandler处理器 2 Le...

writeademo
30分钟前
4
0
完美的Linux之【navi】使用笔记

今天要说的是才上线才两天,就已经获得超过1000星。开发者是一位来自巴西的小哥Denis Isidoro。 开发的工具navi Linux用户的日常困惑 > 新命令 用完就忘 ? > 一时想不起来命令的单词怎么拼?...

我们都很努力着
31分钟前
4
0
iptables删除命令中的相关问题

最近在做一个V**N中间件的配置工作,在配置iptables的时候,当用户想删除EIP(即释放当前连接),发现使用iptables的相关命令会提示错误。iptables: Bad rule (does a matching rule exist ...

Linux就该这么学
44分钟前
3
0
ExtJS 4.2 评分组件

本文转载于:专业的前端网站➸ExtJS 4.2 评分组件 上一文章是扩展ExtJS自带的Date组件。在这里将创建一个评分组件。 目录 1. 介绍 2. 示例 3. 资源下载 1. 介绍 代码参考的是 Sencha Touch 2...

前端老手
51分钟前
4
0
springboot2.0.6启动解析(四)观察器、启动的错报告、Headless模式相关分析

解析SpringApplication的run方法观察器、启动的错报告、Headless模式、监听器相关分析 public ConfigurableApplicationContext run(String... args) { // 构造一个任务执行观察器(Jav...

小亮89
59分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部