Android左滑返回功能的实现示例代码-创新互联

前几天用了个app发现左滑可以返回首页,发现这个功能很炫酷,就想着自己能不能做出来,于是研究了一下

创新互联建站长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为南山企业提供专业的成都做网站、成都网站制作,南山网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

原理

  1. 将activity的背景设置为透明同时设置切换动画
  2. 手指滑动的时候,根View跟着滑动,滑倒一定的距离就finish掉。

原理很简单,但实现起来可能有些坑。这里记录一下。源码参考


处理onInterceptTouchEvent

事件拦截要处理一件事情:确定这次触摸事件是不是应该交给SlideFinishLayout的onTouchEvent处理。

  override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
    val action = ev.action
    when (action){
      MotionEvent.ACTION_DOWN -> {
        mLastX = ev.x.toInt()
        mIsDrag = false
      }
      MotionEvent.ACTION_MOVE -> {
        mScroller.computeScrollOffset()
        mIsDrag = !mScroller.isFinished

        val deltaY:Int = ev.x.toInt() - mLastX
        if (deltaY >= mTouchSlop){
          mIsDrag = true
        }
      }
    }
    return mIsDrag
  }

标题名称:Android左滑返回功能的实现示例代码-创新互联
URL地址:http://myzitong.com/article/dcoppp.html