【问题标题】:astuetz / PagerSlidingTabStrip Wrong selected tab when I rotate deviceastuetz / PagerSlidingTabStrip 旋转设备时选择错误的选项卡
【发布时间】:2014-02-27 06:56:33
【问题描述】:

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

但是当我做出一点触摸手势时,它会自行更新。你知道如何解决这个问题吗?

【问题讨论】:

    标签: android screen-orientation pagerslidingtabstrip


    【解决方案1】:

    这很简单,见下文

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多