侧滑成功返回上个页面后怎么监听呢
onDragStateChange这个好像只能获取state 0 1 2,但是这个并不能完全确定是否成功返回了
因为我需要在监听到返回成功之后需要修改上个页面的主题颜色
可以用onHiddenChanged()
@YoKeyword 但是我的前后两个页面都没有用到fragment,基本上就是个recyclerview
嗯? 没明白,没用到Fragment怎么可以侧滑返回的?
如果是Activity,可以 setResult() + onActivityResult()
我是在activity基类里继承了你的swipebackActivity,然后所有的activity都可以侧滑返回到上一个activity了。 我现在遇到的麻烦是,比如activity A->B->C,用户在C中变更了某些设置后,我希望侧滑返回的不是B,而是A,我现在想的是ondestroy中判断配置变了执行clearTask和start A,但是ondestroy执行时间不是立即的,所以我想监听到activity侧滑成功的那个时机,立刻执行clearTask和startA
另外4.4的机器转场动画是正确的,但是6.1上就失效了,全部变成了从下到上出现
@candrwow
// 滑动过程监听
getSwipeBackLayout().addSwipeListener(new SwipeBackLayout.OnSwipeListener() {
@Override
public void onDragScrolled(float scrollPercent) {
// 滑动百分比
}
});
这个可以方法应该可以满足你的需求;
4.X上,(原生)系统默认Activity转场动画:横向 5.0+上,系统默认Activity转场动画:纵向
滑动百分比那个方法返回的数值貌似不能作为是否退出的判断,因为如果滑动的横向速度非常快,即时滑动百分比只有0.2依然会关闭当前activity进入之前的。
现在手头有点事没法校验, 印象中 float scrollPercent是代表当前AC/FG已滑动的偏移量, 应该必定会到1.0f的, 1.0f就代表滑动到完全不可见状态
我在日志里并没有看到0和1.0f的数据,只有最后松手一瞬间的一个float值
@candrwow 最后怎么解决的,我也遇到这种--!