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

时间:2014-02-27 06:56:34

标签: android screen-orientation pagerslidingtabstrip

当我旋转设备时,如果我选择了除第一个或最后一个之外的某个标签,它会向我显示标签的错误位置。

但是当我做一个小小的触摸手势时,它会更新自己。你知道怎么解决这个问题。

2 个答案:

答案 0 :(得分:5)

这很简单,见下文

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);
        }
    });

答案 1 :(得分:1)

当我删除调用方法setPageMargin()时,它适用于我。

相关问题