×
广告

Snake版本再升级,支持类iPhone X上滑退出到桌面功能

96
欧阳锋
2018.01.18 11:49* 字数 684

上次去国美电器逛手机店的时候,突然发现VIVO手机已经支持类似iPhone X从底部边缘向上轻扫回到桌面功能。突发奇想,何不自己实现一个?于是,在Snake新版本中,我加入了这样一个实验性功能,你可以在Demo首页开启,体验该功能。

还不知道Snake是什么?看上一篇:https://www.jianshu.com/p/7cf6864c9bde

Demo下载体验

扫描二维码下载

目前,全面屏趋势已经势不可挡,未来手机应该都会支持这一手势。因此,这个功能仅推荐体验使用,不推荐在生产环境中使用。

如何开启上滑退出功能

目前,Snake提供了三种方式开启该功能:

  • 使用注解: @SetDragParameter(enableSwipeUpToHome = true)
  • snake.xml中配置,<enable_swipe_up_to_home>false</enable_swipe_up_to_home>,这个配置会在全局生效
  • 使用接口Snake.enableSwipeUpToHome()开启

其他更新

SnakeWebView

除了上述功能之外,新版本还提供了对WebView滑动手势的控制。使用SnakeWebView,默认启用向左轻扫和向右轻扫手势,向左轻扫页面回退,向右轻扫页面前进。你可以通过SnakeWebView的接口设置监听方向或关闭监听。

允许关闭页面联动

新版本在xml配置中增加了是否允许页面联动属性<allow_page_linkage>true</allow_page_linkage>,这个控制同样支持在@SetDragParameter注解中进行配置

onDragListener

新版本在拖拽监听接口中,增加了public void onBackToStartCompleted(View view) {}方法,该方法也页面回退到原始位置后触发。在onDrag方法中增加isSettling参数用于标识当前拖拽是手指触发还是方法控制的。

注意:如果你在低版本中使用了Snake.addDragListener接口并且重写了onDrag方法,请在该方法中手动添加boolean isSettling参数解决不兼容问题

Bug修复

如果页面没有添加windowIsTranslucent: true属性,Activity在转换到透明状态需要一定的时间,这取决于机器配置,通常情况下可以在几毫秒内完成。在推送的 issue 中,有人反馈部分手机存在画面抖动的情况,新版本已经修复了这个问题,有这个问题的同学请查看是否已经修复。

在使用过程中,如果你有任何疑问,请点击下方链接参考Github官方文档:
https://github.com/yuanhoujun/Android_Slide_To_Close

学更多编程知识,扫描下方二维码关注欧阳锋工作室

欧阳锋工作室
开源
Web note ad 1