Fragmentation icon indicating copy to clipboard operation
Fragmentation copied to clipboard

侧滑返回卡半屏幕

Open AdrianAndroid opened this issue 4 years ago • 5 comments

Issues Guideline

APP分布(结构): MainFragment |----Fragment1 ----|----(child)(Fragment1+Fragment2+Fragment3) |----Fragment2 ----|----(child)Fragment |----Fragment3 ----|----Fragment --------|----(child) Fragment1 + Fragment2 ----|----Fragment

点击回退键,上一个Fragment卡半屏幕。

图片

https://github.com/AdrianAndroid/Fragmentation/blob/learn/WechatIMG15.jpeg

AdrianAndroid avatar Dec 02 '20 14:12 AdrianAndroid

我的手机是红米K30 红米K30

AdrianAndroid avatar Dec 02 '20 14:12 AdrianAndroid

在SwipeBackLayout中,将下面几行注释掉,下层就不再跟随一起滑动了

` @Override public void computeScroll() {

    if (mEnable) {
        mScrimOpacity = 1 - mScrollPercent;
        if (mScrimOpacity >= 0) {
            if (mHelper.continueSettling(true)) {
                ViewCompat.postInvalidateOnAnimation(this);
            }

// if (mPreFragment != null && mPreFragment.getView() != null) { // if (mCallOnDestroyView) { // mPreFragment.getView().setX(0); // return; // } // // if (mHelper.getCapturedView() != null) { // int leftOffset = (int) ((mHelper.getCapturedView().getLeft() - getWidth()) * mParallaxOffset * mScrimOpacity); // mPreFragment.getView().setX(leftOffset > 0 ? 0 : leftOffset); // } // } } } }`

AdrianAndroid avatar Dec 08 '20 10:12 AdrianAndroid

你调出虚拟按键,按返回键看会不会出现这个问题。 你可以使用 setSwipeBackEnable(false) 来禁止右滑退出,不用注释这个代码

JantHsueh avatar Mar 11 '21 09:03 JantHsueh

其实那不是卡一半,是框架问题,快速pop时候有几率出现,其实和他们反馈的白屏是一个问题

ruanbaojun1105 avatar May 27 '21 00:05 ruanbaojun1105

这个问题可以参考这里 https://github.com/YoKeyword/Fragmentation/issues/1130#issuecomment-886559697

CAnonymous8 avatar May 09 '23 09:05 CAnonymous8