只要有欲望,就应该有奋斗的心....

屏蔽左右滑动事件的viewPager

public class CustomNoScrollViewPager extends ViewPager{private boolean noScroll = false;public CustomNoScrollViewPager(Context context, AttributeSet attrs) {super(context, attrs);}public CustomNoScrollViewPager(Context context) {super(context);}public void setNoScroll(boolean noScroll) {this.noScroll = noScroll;}@Overridepublic void scrollTo(int x, int y) {super.scrollTo(x, y);}@Overridepublic boolean onTouchEvent(MotionEvent arg0) {/* return false;//super.onTouchEvent(arg0); */if (noScroll)return false;elsereturn super.onTouchEvent(arg0);}@Overridepublic boolean onInterceptTouchEvent(MotionEvent arg0) {if (noScroll)return false;elsereturn super.onInterceptTouchEvent(arg0);}@Overridepublic void setCurrentItem(int item, boolean smoothScroll) {super.setCurrentItem(item, smoothScroll);}@Overridepublic void setCurrentItem(int item) {super.setCurrentItem(item);}}

在使用些viewpager的时候,只需要在合适的时候调用 viewpager.setNoScroll(true)方法,即可以实现屏蔽viewpager的左右滑动

ViewPager嵌套ViewPager 的使用

解决子ViewPager与父viewpager的事件冲突问题

import android.content.Context;
import android.graphics.PointF;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;public class CustomAndParentViewpager extends ViewPager {/** 触摸时按下的点 **/PointF downP = new PointF();/** 触摸时当前的点 **/PointF curP = new PointF();public CustomAndParentViewpager(Context context, AttributeSet attrs) {super(context, attrs);}public CustomAndParentViewpager(Context context) {super(context);}@Overridepublic boolean onTouchEvent(MotionEvent arg0) {//每次进行onTouch事件都记录当前的按下的坐标if(getChildCount()<=1){return super.onTouchEvent(arg0);}curP.x = arg0.getX();curP.y = arg0.getY();if(arg0.getAction() == MotionEvent.ACTION_DOWN){//记录按下时候的坐标//切记不可用 downP = curP ,这样在改变curP的时候,downP也会改变downP.x = arg0.getX();downP.y = arg0.getY();//此句代码是为了通知他的父ViewPager现在进行的是本控件的操作,不要对我的操作进行干扰getParent().requestDisallowInterceptTouchEvent(true);}if(arg0.getAction() == MotionEvent.ACTION_MOVE){//此句代码是为了通知他的父ViewPager现在进行的是本控件的操作,不要对我的操作进行干扰getParent().requestDisallowInterceptTouchEvent(true);}if(arg0.getAction() == MotionEvent.ACTION_UP || arg0.getAction() == MotionEvent.ACTION_CANCEL){//在up时判断是否按下和松手的坐标为一个点//如果是一个点,将执行点击事件,这是我自己写的点击事件,而不是onclickgetParent().requestDisallowInterceptTouchEvent(false);if(downP.x==curP.x && downP.y==curP.y){return true;}}super.onTouchEvent(arg0); //注意这句不能 return super.onTouchEvent(arg0); 否则触发parent滑动return true;}
}

Android自定义控件ImageViwe(一)——依据控件的大小来设置缩放图片显示
    点击打开链接
    
 Android自定义ImageView(二)——实现双击放大与缩小图片
    点击打开链接
    
 Android自定义控件ImageViwe(三)——随手指进行图片的缩放
    点击打开链接
    
 Android自定义控件ImageViwe(四)——多点触控实现图片的自由移动  
    点击打开链接
    
 Android ListView分组排序显示数据
    点击打开链接
    
 Android自定义下拉刷新功能的ListView
    点击打开链接
    
 Android音乐播放器高级开发
    点击打开链接
    
 Android自定义控件之流式布局
 点击打开链接

Android 自定义ViewPager设置屏蔽左右滑动事件相关推荐

  1. Android自定义快速设置

    Android自定义快速设置 Customizer Quick Setting 自定义快速设置 Android N/7.0 牛轧糖 Android自定义快速设置 前言 自定义快速设置图块 深入理解Ti ...

  2. Android 解决ViewPager双层嵌套的滑动问题

    Android 解决ViewPager双层嵌套的滑动问题 参考文章: (1)Android 解决ViewPager双层嵌套的滑动问题 (2)https://www.cnblogs.com/zhujia ...

  3. Android自定义拍照上传界面,Android自定义dialog——设置头像(拍照,相册)

    Android自定义dialog--设置头像(拍照,相册) 需求场景:个人信息设置,点击头像,在界面上弹出一个弹框,用户选择"拍照"/"从图库选择",选择照片后 ...

  4. Android自定义ViewPager图片指示器,兼容实现底部横线指示器

    前言  记得以前自己使用过的ViewPager Indicator有JakeWharton大神的开源库ViewPagerIndicator,v4包自带的PagerTitleStrip以及Android ...

  5. android如何自定义viewpager,Android自定义ViewPager实现个性化的图片切换效果

    第一次见到ViewPager这个控件,瞬间爱不释手,做东西的主界面通通ViewPager,以及图片切换也抛弃了ImageSwitch之类的,开始让ViewPager来做.时间长了,ViewPager的 ...

  6. android view禁用,Android 禁止ViewPager的自带滑动效果

    由于最近在做墨水屏的相关工作,ViewPager自带的滑动效果在墨水屏上表现的很不好,残影太重了.所以禁止自带的滑动效果,用接口来接管相关逻辑实现自处理. import android.content ...

  7. Android使用ViewPager实现左右循环滑动及轮播效果

    ViewPager是一个常用的android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验.此外,某些区域性的Vie ...

  8. Android自定义View,跟随手指滑动效果

    Android自定义View,实现跟随手指滑动效果, 效果如下: 一,重写onTouchEvent方法 最后返回true 二,在MotionEvent.ACTION_MOVE情况下改变自定义view ...

  9. android自定义view设置高度,自定义View的宽高设定

    关于View的属性 自定义动态设置View的大小属性 使用LayoutParams来设置view的宽高. int textLen = AddShopActivity.mCategoryItemName ...

最新文章

  1. Mac系统安装Aircrack-ng破解wifi密码(2)
  2. delphi json
  3. 【WebRTC---入门篇】(四)WebRTC设备管理
  4. LeetCode 662. 二叉树最大宽度(递归)
  5. 超详细的jQuery的 DOM操作,一篇就足够!
  6. 微信中打开h5页面,直接关闭窗口js
  7. 考大学计算机考试作文,机考作文
  8. java中的io系统详解[转]
  9. 他们连忙跟了上去ZuL1VsLa5X67XOI
  10. GO 打开WINDOWS的默认浏览器
  11. 关于重装系统前的准备、备份和重装完后系统优化、使用习惯等说明
  12. 00 Linux到底是什么?
  13. Unity 水体浮力的实现
  14. 【Autoware规控】mpc_follower模型预测控制节点
  15. 【MySQL】作业一
  16. 在JitPack上发布Android库
  17. GaussDB架构(下)
  18. 教你如何搭建vue项目
  19. java 国际化方案,java 项目国际化完全实现
  20. 如何找到大于或等于一个整数的最小的 2 的幂?

热门文章

  1. 用CNN做NLP文本分类竞赛
  2. 最强开源OCR!印刷体古籍文字识别超越著名商业软件ABBYY
  3. Python知识点之Python面向对象
  4. 计算机视觉论文-2021-06-11
  5. 计算机视觉论文-2021-05-31
  6. 收藏 | 一文带你深入理解深度学习最新进展
  7. 基于ROS的移动机器人开发:视觉、语音、导航
  8. Matlab线性/非线性规划优化算法(5)
  9. linux镜像包含数据库数据么,docker 镜像中包含数据库环境和运行环境
  10. geoserver发布瓦片数据_OpenLayers教程十八:多源数据加载之矢量切片