1.ViewPager嵌套HorizontalScrollView滑动冲突的解决办法,重写ViewPager

public class ZdyViewPage extends ViewPager {

	public ZdyViewPage(Context context) {
super(context);
} public ZdyViewPage(Context context, AttributeSet attrs) {
super(context, attrs);
} @Override
protected boolean canScroll(View v, boolean arg1, int arg2, int arg3,
int arg4) {
if (v instanceof HorizontalScrollView) {
return true;
}
return super.canScroll(v, arg1, arg2, arg3, arg4);
} }

2.ScrollView嵌套ViewPager滑动冲突的解决办法,重写ScrollView

public class NotifyingScrollView extends ScrollView {
private Context mContext; /*避免Scroview和ViewPager控件冲突的解决办法*/
private boolean canScroll;
private GestureDetector mGestureDetector;
View.OnTouchListener mGestureListener; public NotifyingScrollView(Context context) {
super(context);
mContext = context;
} public NotifyingScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
mContext = context;
mGestureDetector = new GestureDetector(new YScrollDetector());
canScroll = true;
} public NotifyingScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
mContext = context;
} /*避免Scroview和ViewPager控件冲突的解决办法*/
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if(ev.getAction() == MotionEvent.ACTION_UP)
canScroll = true;
return super.onInterceptTouchEvent(ev) && mGestureDetector.onTouchEvent(ev);
} class YScrollDetector extends SimpleOnGestureListener {
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
if(canScroll)
if (Math.abs(distanceY) >= Math.abs(distanceX))
canScroll = true;
else
canScroll = false;
return canScroll;
}
}
}

3.ListView嵌套ViewPager滑动冲突的解决办法,重写ListView

public class MyListview extends ListView {

	private Context mContext;

	public MyListview(Context context) {
super(context);
mContext = context;
} public MyListview(Context context, AttributeSet attrs, Context mContext) {
super(context, attrs);
this.mContext = mContext;
} public MyListview(Context context, AttributeSet attrs, int defStyle,
Context mContext) {
super(context, attrs, defStyle);
this.mContext = mContext;
} @Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
super.onInterceptTouchEvent(ev);
return false;
} }

在开发中还会遇到很多的控件组合,大家有遇到过的希望都能把代码贴上来,大家共同学习!!!

android中控件公用产生的冲突的解决办法的更多相关文章

  1. jQuery的AJAX方法简介及与其他文件$符号冲突的解决办法

    一.重要的jQuery AJAX方法简介 $.load(url) 从服务器载入数据 $.get(url,callback) 从服务器请求数据,并执行回调函数 $.post(url,data,callb ...

  2. 使用HttpModule实现网址重写和HttpHandler实现页面静态化冲突的解决办法

    使用HttpModule实现网址重写和HttpHandler冲突的解决办法功能描述:1. 用HttpModule做了一个重写URL的功能,实现所有访问html的请求要经过httpModule处理,如果 ...

  3. hash 冲突及解决办法。

    hash 冲突及解决办法. 关键字值不同的元素可能会映象到哈希表的同一地址上就会发生哈希冲突.解决办法: 1)开放定址法:当冲突发生时,使用某种探查(亦称探测)技术在散列表中形成一个探查(测)序列.沿 ...

  4. qtp录制时间控件不允许用户手动输入的解决办法

    qtp录制时间控件不允许用户手动输入的解决办法 [前面的话] 一边学习qtp,一边用自己的项目试着写代码,而遇到一个问题就会让自己卡壳很久,这次也是这样的,在写好了登录代码以后,自己就试着写第一个预订 ...

  5. vscode 快捷键 ctrl+shift+F 冲突了 解决办法

    vscode 快捷键 ctrl+shift+F 冲突了 解决办法 1.修复 搜狗输入法 ctrl+shift+F 中文 繁体简体的快捷键冲突 2.修复 微软输入法  ctrl+shift+F 冲突 ( ...

  6. Android Studio 找不到夜神模拟器的解决办法

    Android Studio 找不到夜神模拟器的解决办法 1.启动夜神模拟器 2.找到你电脑上的夜神安装目录,在bin目录下打开cmd窗口,运行命令 nox_adb.exe connect 127.0 ...

  7. Android无法导入下载好的项目(和Eclipse中已经存在的项目命名一样导致冲突)解决办法

    错误提示: 在我们到导入从网络下载的项目时,经常会出现如下问题(选择的项目变灰,并且提示要选择至少一个项目): 错误原因: 出现这样的错误主要是因为你的Eclipse已经存在了和上图中New Proj ...

  8. Android 避免APP启动闪黑屏的解决办法(Theme和Style)

    前几天Boss就反应说,机器每次启动程序都会闪一下黑屏,这个客户不接受.没办法,只能想想怎么解决,最后找到了下面的方法.闪黑屏的原因主要是我们启动Activity的时候,需要跑完onCreate和on ...

  9. php中session同ip不同端口的多个网站session冲突的解决办法

    在局域网内使用IP加端口的访问方式搭了两个相同程序的站,结果发现用户在一个站下登录后,在另一个站也同时登录了,在一个退出后,另一个站也同时退出了.看了下程序发现两个站都是使用纯session方式记录登 ...

随机推荐

  1. Chart.js | HTML5 Charts for your website.

    Chart.js | HTML5 Charts for your website. Chart.js

  2. DataTable转换成List

    public static List<T> GetList<T>(DataTable table) { List<T> list = new List<T&g ...

  3. C#执行zip文件压缩的几种方法及我遇到的坑总结

    工作项目中需要用到zip压缩解压缩文件,一开始看上了Ionic.Zip.dll这个类库,操作方便,写法简单 对应有个ziphelper类 using Ionic.Zip; public static ...

  4. UGUI 锚点

    今天我们来学习下UGUI的锚点, 他是做什么的呢?  基本上就是用于界面布局. 1. 1个控件对应1个描点. 2. 描点分成四个小叶片,  每1个叶片 对应 控件四边框的角点 3. 不管屏幕如何放大缩 ...

  5. Java凝视Annotation

     Java凝视Annotation 从JDK 5開始,Java添加了对元数据(MetaData)的支持,也就是Annotation(凝视).Annotation提供了一种为程序元素设置元数据的方法 ...

  6. RehHat enterprise 5.4 安装git

    今天想来研究一下git,就自己安装一个试试,没想到遇到各种问题.经过各种百度和google,终于都解决了,现在来总结一下: 1.安装完redhat 5.4,安装gcc编译器的问题:这个gcc编译器需要 ...

  7. java学习笔记day06---匿名内部类

    1.匿名内部类:其实就是内部类的简化形式,它所体现的就是一个类或者接口的子类对象.前提:     内部类必须继承或实现外部类或接口. 格式:    new 父类&接口(){};    其实就是 ...

  8. 关于iconfont

    1. 从FONT-FACE说起 要想了解iconfont,得从一个新的css3规则说起.css3中,新增了一种样式规则,@font-face,这个规则可以用来引入自定义的字体,到客户端.以前,我们的字 ...

  9. window服务创建

    第一步:创建服务 第二步:在Service1.cs视图中 右键 选择”添加安装程序” 这里要注意几个细节 设置上面的属性 这两个分别有属性,具体网上查使用方式 3 实例代码编写 主要下面几个方法 pr ...

  10. 【27前端】在线css三角

    我们都知道利用css边框的属性可以画出三角形,这里为了方便,我做了一个简单的demo页面供大家使用. 在线css三角