首先实现View.OnTouchListener

对Editext设置监听

et_baseInfo.setOnTouchListener(this)
override fun onTouch(v: View?, event: MotionEvent?): Boolean {        if (v?.id == R.id.et_baseAuditInfo || v?.id == R.id.et_suggestion){            if (canVerticalScall(v as EditText)){                v.parent.requestDisallowInterceptTouchEvent(true)//告诉父控件,自己处理事件                if (event?.action == MotionEvent.ACTION_UP){                    v.parent?.requestDisallowInterceptTouchEvent(false)//告诉父控件,可以处理事件了                }            }        }        return false    }

判断EditText是否可以滑动

fun canVerticalScall(editText: EditText): Boolean{    //滚动的距离    val scrollY = editText.scrollY    //控件内容总高度    val scrollRange = editText.layout.height    //控件实际显示的高度    val scrollExtent = editText.height - editText.compoundPaddingTop - editText.compoundPaddingEnd    //控件内容总高度,与实际高度的差值    val scrollDeference = scrollRange - scrollExtent    if (scrollDeference == 0){        return false    }    return (scrollY > 0 || (scrollY < scrollDeference - 1))}

 

更多相关文章

  1. android实现音乐播放器(进度条)
  2. android之各种布局控件和对话框
  3. 《Android开发技术周报》笔记
  4. 《转》完美解决微信video视频隐藏控件和内联播放问题
  5. Android笔记---点击事件的四种写法
  6. Android:自定义控件和使用方法
  7. Android(安卓)之 自定义控件用法介绍
  8. Android(安卓)的永久登陆 与注销登陆
  9. 安卓布局详解

随机推荐

  1. Android(安卓)GPS架构分析(一)
  2. Android使用Fragment来实现TabHost的功能
  3. Android(安卓)View之基础介绍(Android开
  4. Android(安卓)6.0系统读写文件出现FileNo
  5. 关于xml中使用ImageView或ImageButton引
  6. Android定时器之Handler的postDelyed方法
  7. [置顶] activity配置信息详解
  8. Android图片与内存优化
  9. Android中ImageView使用网络图片资源的方
  10. AsyncHttpClient