解决ScrollView中嵌套EditText时的滑动滚动冲突
2018-01-25 10:18
519 查看
仅供个人参考使用,如果你喜欢,你也可以用。保护网络环境,拒绝喷子。我是无私奉献的,没让喷子拿一分钱,喷子请闭嘴。
0、二话不说,上工具类代码
1、在需要处理冲突的类中直接调用,举个栗子
2、结束(代码很少,不提供下载链接,请需要的自行copy)。
0、二话不说,上工具类代码
import android.view.MotionEvent; import android.view.View; import android.widget.EditText; /** * 用于解决EditText和ScrollView的触摸滚动冲突 * Created by LiuChaoya on 2018/1/25 09:46. * email 1090969255@qq.com */ public class SolveEditTextScrollClash implements View.OnTouchListener { private EditText editText; public SolveEditTextScrollClash(EditText editText) { this.editText = editText; } @Override public boolean onTouch(View view, MotionEvent event) { //触摸的是EditText而且当前EditText能够滚动则将事件交给EditText处理。否则将事件交由其父类处理 if ((view.getId() == editText.getId() && canVerticalScroll(editText))) { view.getParent().requestDisallowInterceptTouchEvent(true); if (event.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); } }
1、在需要处理冲突的类中直接调用,举个栗子
EditText editText = (EditText)findViewById(R.id.editText);
editText.setOnTouchListener(new SolveEditTextScrollClash(editText));
2、结束(代码很少,不提供下载链接,请需要的自行copy)。
相关文章推荐
- ScrollView与EditText滑动冲突解决办法
- 解决ScrollView中嵌套EditText无法滑动的问题
- 关于Scrollview和EditText 滑动冲突的解决办法
- EditText跟ScrollView滑动冲突
- 完美解决ScrollView嵌套ViewPager滑动失效和无法正常滑动冲突问题
- 安卓开发--EditText和ScrollView滑动的冲突,以及EditText内容过多导致被软键盘顶上去距离
- 在HorizontalScrollView中嵌套ListView重写onInterceptTouchEvent时产生的滑动冲突的解决方法
- EditText和ScrollView冲突的解决
- ViewPager,ScrollView 嵌套ViewPager滑动冲突解决
- 解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- Android ScrollView中嵌套ListView滚动效果冲突问题解决
- 【Android界面实现】解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- 关于 ScrollView 中嵌套 EditText,输入多行会使整体滚动的问题
- scrollView里面嵌套listview,导致滑动事件冲突解决。
- ScrollView嵌套滑动冲突问题解决
- ScrollView嵌套ListView——解决滑动冲突问题
- Android ScrollView中嵌套ListView,滑动冲突问题的解决
- 解决 ScrollView 嵌套 ListView 时,高度不正常和滑动冲突的问题
- 【Android界面实现】解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- NestedScrollView和EditText控件的滚动冲突问题