Scollview 和 EditText 滚动冲突
2016-07-18 16:31
357 查看
1 其实很好处理 在点击Editview 的时候自己去处理 touch 时间
2 处理tonch 事件
3 判断是否可以滚动
EditText ed_more = (EditText) findViewById(R.id.ed_more); ed_more.setOnTouchListener(this);
2 处理tonch 事件
@Override public boolean onTouch(View v, MotionEvent event) { if ((v.getId() == R.id.ed_more && canVerticalScroll(ed_more))) { ed_more.getParent().requestDisallowInterceptTouchEvent(true); if (event.getAction() == MotionEvent.ACTION_UP) { ed_more.getParent().requestDisallowInterceptTouchEvent(false); } } return false; }
3 判断是否可以滚动
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); }
相关文章推荐
- Android 任务和返回栈详解
- Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart
- HorizontalScrollView作为导航栏和HorizontalScrollView的滑动
- 【Java并发编程】并发之痛 Thread,Goroutine,Actor
- Jenkins配置ant依赖问题
- 莫比乌斯函数
- Notification通知的基本用法
- VS2008下搭建QT环境
- Centos 6.7下图文讲解最新zabbix3.0.3源码安装过程
- 非阻塞同步算法与CAS(Compare and Swap)无锁算法
- Django会话、用户和注册
- UTF-8 Unicode ANSI网页编码的区别
- 解决 MySQL Cluster 通过 某一个MySqld节点新建表时,其他 MySqld节点 看不到表内容的问题
- 用Aspose来打印Word方法类
- Maven(三)——添加外部依赖
- <java编程思想>(thing in java) 阅读笔记(第一章至第六章)
- MAC系统下的环境变量配置java、android、maven
- 网页的路径问题
- 网络直播“黑科技”:Stream Matrix
- SQL DateTime查询与格式