滑动返回-方式1

简介: 写在前面的废话6月1号的时候,我想到一个做滑动返回的思路,于是在我的简书上,记录了这个思路,没有推广这个文章,还是有朋友看到了,在这里说声抱歉,整整两个月过去了,才想起来去实现它。

写在前面的废话

  • 6月1号的时候,我想到一个做滑动返回的思路,于是在我的简书上,记录了这个思路,没有推广这个文章,还是有朋友看到了,在这里说声抱歉,整整两个月过去了,才想起来去实现它。
  • 可是没有办法啊,之前一直加班累成狗,最近又在学新的框架,是这周末才想起来试着去实现它。
  • 如果,有朋友打算用我的这个思路,抱歉,带来的问题,我可能没有时间帮你解决。。

如果你对事件分发机制了解不够清楚,请阅读我写的 Android 的事件分发、传递、处理机制 ,废话不说,先看效果图

001.png
002.gif

怎么用?

  • 方式一 通过继承 SwipeBackActivity
  • 方式二 通过使用 SwipeBackTouchHelper

<pre>
package alex.com.viewdraghelper;

import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

import github.alex.annotation.DispatchType;
import github.alex.helper.SwipeBackTouchHelper;

/**
* 作者:Alex
* 时间:2016年07月30日 22:47
* 博客:http://www.jianshu.com/users/c3c4ea133871/subscriptions
*/

public class Scroll2Activity extends Activity {
private SwipeBackTouchHelper swipeBackTouchHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scroll);
swipeBackTouchHelper = new SwipeBackTouchHelper(this);
}
public void toast(View view){
Toast.makeText(this, "吐司 "+((ViewGroup)view.getParent()).indexOfChild(view), Toast.LENGTH_SHORT).show();
}

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    swipeBackTouchHelper.dispatchTouchEvent(ev);
    if(DispatchType.returnSuper.equals(swipeBackTouchHelper.dispatchType)){
        return super.dispatchTouchEvent(ev);
    }else if(DispatchType.returnTrue.equals(swipeBackTouchHelper.dispatchType)){
        return true;
    }else if(DispatchType.returnFalse.equals(swipeBackTouchHelper.dispatchType)){
        return false;
    }
    return super.dispatchTouchEvent(ev);
}

@Override
protected void onDestroy() {
    super.onDestroy();
    /\*千万别忘了,销毁资源,防止内存泄漏\*/
    swipeBackTouchHelper.destroy();
}

}

</pre>

最后奉上源码 SwipeBackActivityapk安装包

目录
相关文章
|
2月前
文件存取方式
顺序存取方式和随机存取方式: 顺序存取就是从上往下,一笔一笔读取文件的内容。写入数据时,将数据附加在文件的末尾。这种存取方式常用于文本文件。 随机存取方式多半以二进制文件为主。它会以一个完整的单位来进行数据的读取和写入,通常以结构为单位。
|
2月前
.文件存取方式
顺序存取方式和随机存取方式: 顺序存取就是从上往下,一笔一笔读取文件的内容。写入数据时,将数据附加在文件的末尾。这种存取方式常用于文本文件。 随机存取方式多半以二进制文件为主。它会以一个完整的单位来进行数据的读取和写入,通常以结构为单位。
|
3月前
|
JavaScript 前端开发 开发者
JS继承方式
【10月更文挑战第8天】
11 2
|
4月前
|
JavaScript 前端开发
JS继承简单的理解方式
文章通过代码示例详细解释了JavaScript中的多种继承方式,包括原型链继承、构造函数继承、组合继承、寄生组合继承和类继承,并讨论了它们的特点和适用场景。
14 0
|
8月前
|
存储 XML 文件存储
Android数据存储的五种方式1
Android数据存储的五种方式
143 2
|
8月前
|
存储 Android开发
Android数据存储的五种方式3
Android数据存储的五种方式
49 0
|
8月前
|
存储 SQL 数据库
Android数据存储的五种方式2
Android数据存储的五种方式
76 0
|
人工智能 自动驾驶 新能源
“以终为始”的正确使用方式
“以终为始”的正确使用方式
160 0