美文网首页玩转编程程序员
Android两行代码实现仿微信滑动返回效果

Android两行代码实现仿微信滑动返回效果

作者: 欧阳锋 | 来源:发表于2018-03-06 08:39 被阅读56次

    iPhone滑动关闭页面是一个非常讨喜的设计。滑动关闭可以让你聚焦屏幕内容,而不需要因为返回突然切换思维到屏幕下方寻找返回按钮。事实上,在使用Android手机的时候,我经常这样做。原因是,Android不同机型的返回按钮位置不一样。以至于在更换机型后我常常找不到返回按钮,需要一段时间的适应期。而滑动关闭就可以有效地避免这个问题,目前已经有很多类型的Android应用开始支持滑动关闭,比如你熟悉的微信、快手等都已经支持了滑动返回效果。使用 Snake 框架你只需要两行代码就可以搞定滑动关闭集成...

    如果你还不知道Snake是什么,请关注简书下面的文章:

    Snake

    初体验

    如果你需要在Activity中实现滑动关闭效果,使用如下两个步骤即可:

    • 在你的Application中对Snake进行初始化:Snake.init(this)
    • 在你的Activity类的onCreate方法中对其进行托管:Snake.host(this)

    以上两个方法已经完成了Activity滑动关闭集成,为了开启滑动关闭功能,你还需要在Activity类顶部添加@EnableDragToClose注解

    Snake设计思路

    为了保证Snake框架尽可能灵活,我使用了注解实现单页固定滑动参数配置。而全局配置则使用单独的snake.xml文件进行配置。同时,为了支持动态关闭和开启,在Snake类中提供了相关API用于动态控制滑动关闭和开启。

    设计目标

    看过Snake官方文档的同学会发现,Snake并不提供左滑关闭或者其它方向关闭页面的设置,Snake也没有提供不同的关闭效果设置。没有这样设计的原因很简单,因为这种关闭效果并不常见,这样的设计不过是哗众取宠,浪费时间,且增加使用难度。

    我的目标是:尽可能简化Snake设计,仅提供必要API,且专注于滑动关闭效果实现。

    新版本来了

    这是本篇文章的重点,昨天,Snake 0.3.0 版本已经发布了。

    0.3.0版本主要针对Fragment提供了继承方式集成:

    使用方法

    按照下面的对应关系,改变你的Fragment父类就可以完成滑动关闭集成:

    • android.app.Fragment => com.youngfeng.snake.app.Fragment
    • android.support.v4.app.Fragment => com.youngfeng.snake.support.v4.app.Fragment

    注意:使用继承方式集成的情况下,原来的API完全可以通用。你可以选择使用Snake的API进行滑动控制,也可以使用父类中的方法进行滑动控制,这取决于你自己。甚至实例创建你依然可以交给newProxy/newProxySupport接口。

    详细信息,请查看官方文档:https://github.com/yuanhoujun/Android_Slide_To_Close


    我是 欧阳锋,开源的道路上,我与你同行。

    相关文章

      网友评论

        本文标题:Android两行代码实现仿微信滑动返回效果

        本文链接:https://www.haomeiwen.com/subject/fcflfftx.html