android 布局 使用 viewPager 时,如何解决 和 子页面 长按滑动 冲突问题
使用 viewPager 时,如何解决 和 子页面 长按滑动 冲突问题。
我的问题原型:
这个问题,我相信遇到的人会比较少,我是在 一个 viewPager 中,其中 一个 fragment 中实现了长按滑动图片的功能,而发现它们两者的
onTouchEvent事件冲突。
尝试过的解决方法:
1-----
遇到这问题,首先是百度,百度到的方法有,自定义 viewPager,在里面重写 onTouchEvent 和 onInterceptTouchEvent,具体代码是下面,这种方法,我尝试
后发现,只能在第一次加载 viewPager的 页面达到 阻断的效果,我这里详细说下,在MainActivity 页面里面,我们初始化了 viewPager,然后我们要在 第二个页面的
fragment 中实现阻断,这时候,你可能会尝试 在 fragment 中new 一个 MainActivity 的对象,然后想方设法 获取它 里面的 viewPager,或者是 引入与 MainActivity
绑定好了的 xml文件,再 在 fragment 中 findViewById() 来获取次 viewPager。 然后使用 自定义 viewPager 里面的 函数。
很不幸,我上述谈到的方法,我都试过了, all failed。
package com.LGH.weixin; /**
* Created by Administrator on 2015/5/30.
*/
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent; public class myViewPager extends ViewPager { private boolean enabled = true; // 默认是 可以侧滑的 public myViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
} public void setStopViewPagerSlip(boolean enabled){
this.enabled = enabled;
Log.i("--------------------","////"+this.enabled);
}
//触摸没有反应就可以了
@Override
public boolean onTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onTouchEvent(event);
}
return false;
} @Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onInterceptTouchEvent(event);
}
return false;
}
}
2-----
第二种方法是我最后真正解决了的。刚开始的时候,使用有误,导致失败。
方法: view.requestDisallowInterceptTouchEvent(true); //传入参数是 true 即可
我第一次使用它失败的原因是:
在 我的 fragment中,由于 viewPager 它本是就是一个 view,所以 我使用 该方法的时候,就直接
viewPager .requestDisallowInterceptTouchEvent(true); 结果是失败的。 在子 view 中正确使用方法是 下面 ↓
解决方法:
view.requestDisallowInterceptTouchEvent(true);中使用的 view 要求是你当前 fragment 引入的xml 返回的 view,而且 改为:
view.getParent().requestDisallowInterceptTouchEvent(true);
此时方能真正解决! 下面 引入些必要的 代码。
View main = inflater.inflate(R.layout.apart_center,container,false);
main.getParent().requestDisallowInterceptTouchEvent(true);
android 布局 使用 viewPager 时,如何解决 和 子页面 长按滑动 冲突问题的更多相关文章
- Android开发之viewpager导报错误解决方法:错误代码 Caused by: java.lang.ClassNotFoundException: Didn't find class
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 Caused by: java.lang.ClassNotFoundException: Didn't ...
- html页面使用前端框架布局时,弹出子页面等情况若出现布局混乱,可能是回发导致
解决方法:需要带调用 弹框 那里 写一段return false防止回发
- 【我的Android进阶之旅】Android Studio查看Logcat时,如果一行Log太长如何换行显示?
使用Android Studio一段时间了,还有很多小技巧没有掌握.今天又发现了一个比较好用的小技巧,这里分享出来. 1.Android Studio默认显示效果 比如我们用Logcat来查看打印的L ...
- 解决ios手机页面overflow scroll滑动很卡的问题
在移动端html中经常出现横向/纵向滚动的效果,但是在iPhone中滚动速度很慢,感觉不流畅,有种卡卡的感觉,但是在安卓设备上没有这种感觉; 要解决这个问题很简单: 一行代码搞定 -webkit-ov ...
- Android View的事件分发机制和滑动冲突解决方案
这篇文章会先讲Android中View的事件分发机制,然后再介绍Android滑动冲突的形成原因并给出解决方案.因水平有限,讲的不会太过深入,只希望各位看了之后对事件分发机制的流程有个大概的概念,并且 ...
- 解决TextView多行滑动与NestedScrollView等,滑动冲突,我的解决方案
1.首先要明白,什么时候回TextView处理滑动,什么时候不处理滑动 1.1往上滑动,到达文本底部就不要再处理了,如果往上滑动不在底部则继续TextView滑动 1.2往下滑动,到达文本顶部就不要再 ...
- 三行代码接入,社交软件打字时底下弹出的表情布局,自定义ViewPager+页面点标+各种功能的android小框架。
(转载请声明出处:http://www.cnblogs.com/linguanh/) 前言: 接上次分享的 ListView 动态加载类,入口:http://www.cnblogs.com/lingu ...
- android控件拖动,移动、解决父布局重绘时控件回到原点
这是主要代码: 保证其params发生改变,相对于父布局的位置就能达到位置移动到原来的位置 // 每次移动都要设置其layout,不然由于父布局可能嵌套listview,当父布局发生改变冲毁(如下拉刷 ...
- 【Android 应用开发】Android中使用ViewPager制作广告栏效果 - 解决ViewPager占满全屏页面适配问题
. 参考界面 : 携程app首页的广告栏, 使用ViewPager实现 自制页面效果图 : 源码下载地址: http://download.csdn.net/detail/han1202 ...
随机推荐
- vscode过滤pyc文件
在工作区设置里添加如下代码: { "files.exclude": { "**/.git": true, "**/.svn": true, ...
- js实现div居中
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- *POJ 1222 高斯消元
EXTENDED LIGHTS OUT Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9612 Accepted: 62 ...
- easyUI在IE浏览器中列表不显示
搜索网上答案挺多,这里我说下我遇到的问题. 我是在页面中有一个toolbar:toolbar属性,但是没有定义toolbar而IE兼容差就不能正确显示. 而其它浏览器兼容性高没问题.其它问题再搜吧!
- JPEG文件结构
JPEG文件由八个部分组成,每个部分的标记字节为两个,首字节固定为:0xFF,当然,准许在其前面再填充多个0xFF,以最后一个为准.下面为各部分的名称和第二个标记字节的数值,用ultraedit的16 ...
- 学习笔记: Delphi之线程类TThread
新的公司接手的第一份工作就是一个多线程计算的小系统.也幸亏最近对线程有了一些学习,这次一接手就起到了作用.但是在实际的开发过程中还是发现了许多的问题,比如挂起与终止的概念都没有弄明白,导致浪费许多的时 ...
- CodeFirst实战:用文本数据库存档软件配置
背景: 以前要写软件的时候,在编写用户配置这一块时,由于存档数据库不靠谱或大题小作,所以一般是存在文本中. 一开始是一个文件保存一个配置(图个File.Read与File.Write的操作简单) 由于 ...
- (DNS被劫持所导致的)QQ音乐与视频网页打开很慢的解决方法
这周开始发现一个很让人抓狂的现象,QQ音乐网页(http://y.qq.com)与QQ视频(http://v.qq.com/)网页打开超慢,甚至是无法打开,严重影响了业余的音乐视频生活. 以QQ视频为 ...
- Python黑帽编程2.3 字符串、列表、元组、字典和集合
Python黑帽编程2.3 字符串.列表.元组.字典和集合 本节要介绍的是Python里面常用的几种数据结构.通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组或多组数据进行存储.查询 ...
- Windows Azure Storage (22) Azure Storage如何支持多级目录
<Windows Azure Platform 系列文章目录> 熟悉Azure平台的读者都知道,Azure Blob有三层架构.如下图:(注意blob.core.chinacloudapi ...