astuetz / PagerSlidingTabStrip 旋转设备时选择的选项卡错误



当我旋转设备时,如果我选择了第一个或最后一个以外的某个选项卡,它会显示选项卡的错误位置。

但是当我做一个小触摸手势时,它会自我更新。您知道如何解决此问题吗?

这很简单,见下文

getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
        @SuppressWarnings("deprecation")
        @SuppressLint("NewApi")
        @Override
        public void onGlobalLayout() {
            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
                getViewTreeObserver().removeGlobalOnLayoutListener(this);
            } else {
                getViewTreeObserver().removeOnGlobalLayoutListener(this);
            }
            currentPosition = pager.getCurrentItem();
            currentPositionOffset = 0f; // ----> just put this line
            scrollToChild(currentPosition, 0);
        }
    });

当我删除调用方法setPageMargin()时,它对我有用。

最新更新