博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
滑动返回-方式1
阅读量:6435 次
发布时间:2019-06-23

本文共 1689 字,大约阅读时间需要 5 分钟。

写在前面的废话

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

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

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
* 博客:
*/

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();
}

@Overridepublic 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);}@Overrideprotected void onDestroy() {    super.onDestroy();    /\*千万别忘了,销毁资源,防止内存泄漏\*/    swipeBackTouchHelper.destroy();}

}

</pre>

最后奉上源码 和

转载地址:http://trhga.baihongyu.com/

你可能感兴趣的文章
USB设备被识别流程【转】
查看>>
test
查看>>
跨入安全的殿堂--读《Web入侵安全测试与对策》感悟
查看>>
Python类及面向对象编程【转】
查看>>
spring boot(二):web综合开发
查看>>
DataGrid 功能实现收集(一)
查看>>
ANT 运行jar包的中文乱码问题
查看>>
【Xamarin.Android】应用消费品
查看>>
Programming with gtkmm 3
查看>>
LinuxUSB驱动程序调试--009:编写应用程序---验证协议【转】
查看>>
brk(), sbrk() 用法详解【转】
查看>>
iOS:quartz2D绘图 (动画)
查看>>
Linux内存管理原理【转】
查看>>
[搜片神器]直接从DHT网络下载BT种子的方法
查看>>
【译】UNIVERSAL IMAGE LOADER. PART 3---ImageLoader详解
查看>>
Node.js~ioredis处理耗时请求时连接数瀑增
查看>>
OOAD 面向对象分析与设计
查看>>
<context:component-scan>使用说明
查看>>
纹理贴图的干扰问题
查看>>
22.3. xinetd.d
查看>>