解决EditText和ScrollView滑动冲突问题

Posted 牛皮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决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); }

 

以上是关于解决EditText和ScrollView滑动冲突问题的主要内容,如果未能解决你的问题,请参考以下文章

解决EditText跟ScrollView滑动冲突

完美解决EditText和ScrollView的滚动冲突(上)

ScrollView内嵌EditText滚动事件冲突处理

ScrollView嵌套EditText联带滑动的解决办法

解决scrollView中嵌套编辑框导致不能上下滑动的问题

改动ScrollView的滑动速度和解决ScrollView与ViewPager的冲突