当前位置: 首页 > news >正文

解决EditText和ScrollView滑动冲突问题

该类需要调用
OnTouchListener接口
黄色部分是需要更改部分,改为自己的edittext
@Override
public boolean onTouch(View view, MotionEvent motionEvent) { //触摸的是EditText并且当前EditText可以滚动则将事件交给EditText处理;否则将事件交由其父类处理 if ((view.getId() == R.id.bags_stolen_characteristic_edittext && canVerticalScroll(mCharacteristiclEditText))) { view.getParent().requestDisallowInterceptTouchEvent(true); if (motionEvent.getAction() == MotionEvent.ACTION_UP) { view.getParent().requestDisallowInterceptTouchEvent(false); } } return false; } /** * EditText竖直方向是否可以滚动 * @param editText 需要判断的EditText * @return true:可以滚动 false:不可以滚动 */ private boolean canVerticalScroll(EditText editText) { //滚动的距离 int scrollY = editText.getScrollY(); //控件内容的总高度 int scrollRange = editText.getLayout().getHeight(); //控件实际显示的高度 int scrollExtent = editText.getHeight() - editText.getCompoundPaddingTop() -editText.getCompoundPaddingBottom(); //控件内容总高度与实际显示高度的差值 int scrollDifference = scrollRange - scrollExtent; if(scrollDifference == 0) { return false; } return (scrollY > 0) || (scrollY < scrollDifference - 1); }

 

转载于:https://www.cnblogs.com/niupi/p/5881325.html

相关文章:

  • (转)fock函数详解
  • linux TLB表
  • 基于范围的for循环(STL)
  • bzoj1221: [HNOI2001] 软件开发
  • Python小杂点
  • nginx在 window下 自动退出 php-cgi
  • MongoDB 常用命令
  • 使用异或解题 —— 序列中仅出现一次的两个数
  • 为什么我从来不无偿加班?你也不应该! 【转载】
  • MySQL主从同步配置(Ubuntu)
  • C语言学习笔记--指针和数组的关系
  • css3样式二
  • 手机端轻应用模拟原生的下拉刷新效果(JavaScript)
  • 樱花漫地集于我心,蝶舞纷飞祈愿相随---总结 顕出:void-sampling 显示:void-sampling...
  • node.js基础 1之简单的nodejs模块
  • 自己简单写的 事件订阅机制
  • __proto__ 和 prototype的关系
  • avalon2.2的VM生成过程
  • gulp 教程
  • Java 网络编程(2):UDP 的使用
  • Next.js之基础概念(二)
  • opencv python Meanshift 和 Camshift
  • Spark学习笔记之相关记录
  • Webpack 4x 之路 ( 四 )
  • 关于使用markdown的方法(引自CSDN教程)
  • 码农张的Bug人生 - 初来乍到
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 用Python写一份独特的元宵节祝福
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​2020 年大前端技术趋势解读
  • #Java第九次作业--输入输出流和文件操作
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (九)One-Wire总线-DS18B20
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (一)SpringBoot3---尚硅谷总结
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .Net 4.0并行库实用性演练
  • .Net 代码性能 - (1)
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET业务框架的构建
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • @EventListener注解使用说明
  • @RequestMapping用法详解
  • @selector(..)警告提示
  • [2017][note]基于空间交叉相位调制的两个连续波在few layer铋Bi中的全光switch——
  • [C/C++随笔] char与unsigned char区别
  • [CISCN2019 华北赛区 Day1 Web5]CyberPunk --不会编程的崽
  • [ffmpeg] av_opt_set 解析
  • [GXYCTF2019]BabyUpload1 -- 题目分析与详解
  • [iOS]随机生成UUID通用唯一识别码
  • [Java并发编程实战] 共享对象之可见性
  • [Kubernetes]8. K8s使用Helm部署mysql集群(主从数据库集群)