SwipeBackFragment icon indicating copy to clipboard operation
SwipeBackFragment copied to clipboard

侧滑成功返回上个页面后怎么监听呢

Open candrwow opened this issue 8 years ago • 11 comments

onDragStateChange这个好像只能获取state 0 1 2,但是这个并不能完全确定是否成功返回了

candrwow avatar Apr 19 '17 11:04 candrwow

因为我需要在监听到返回成功之后需要修改上个页面的主题颜色

candrwow avatar Apr 19 '17 11:04 candrwow

可以用onHiddenChanged()

YoKeyword avatar Apr 19 '17 13:04 YoKeyword

@YoKeyword 但是我的前后两个页面都没有用到fragment,基本上就是个recyclerview

candrwow avatar Apr 20 '17 01:04 candrwow

嗯? 没明白,没用到Fragment怎么可以侧滑返回的? 如果是Activity,可以 setResult() + onActivityResult()

YoKeyword avatar Apr 20 '17 02:04 YoKeyword

我是在activity基类里继承了你的swipebackActivity,然后所有的activity都可以侧滑返回到上一个activity了。 我现在遇到的麻烦是,比如activity A->B->C,用户在C中变更了某些设置后,我希望侧滑返回的不是B,而是A,我现在想的是ondestroy中判断配置变了执行clearTask和start A,但是ondestroy执行时间不是立即的,所以我想监听到activity侧滑成功的那个时机,立刻执行clearTask和startA

candrwow avatar Apr 20 '17 02:04 candrwow

另外4.4的机器转场动画是正确的,但是6.1上就失效了,全部变成了从下到上出现

candrwow avatar Apr 20 '17 06:04 candrwow

@candrwow

// 滑动过程监听
  getSwipeBackLayout().addSwipeListener(new SwipeBackLayout.OnSwipeListener() {
            @Override
            public void onDragScrolled(float scrollPercent) {
                // 滑动百分比
            }
   });

这个可以方法应该可以满足你的需求;

4.X上,(原生)系统默认Activity转场动画:横向 5.0+上,系统默认Activity转场动画:纵向

YoKeyword avatar Apr 20 '17 06:04 YoKeyword

滑动百分比那个方法返回的数值貌似不能作为是否退出的判断,因为如果滑动的横向速度非常快,即时滑动百分比只有0.2依然会关闭当前activity进入之前的。

candrwow avatar Apr 20 '17 08:04 candrwow

现在手头有点事没法校验, 印象中 float scrollPercent是代表当前AC/FG已滑动的偏移量, 应该必定会到1.0f的, 1.0f就代表滑动到完全不可见状态

YoKeyword avatar Apr 20 '17 08:04 YoKeyword

我在日志里并没有看到0和1.0f的数据,只有最后松手一瞬间的一个float值

candrwow avatar Apr 20 '17 08:04 candrwow

@candrwow 最后怎么解决的,我也遇到这种--!

xh2015 avatar Nov 10 '17 04:11 xh2015