在SlidingTabLayout中制作标签不会滑动

时间:2015-12-22 10:08:16

标签: android android-fragments pagerslidingtabstrip

我最近使用SlidingTabLayout制作了一个带有两个标签的应用。我提到了link

Sliding Tabs

但是我不得不稍微修改一下。我必须添加一个按钮,锁定选项卡的滑动。再次点击它时解锁它。所以我只是无法让标签不滑动。

我查看了这个问题Disable swiping between tabs。但是他正在使用其他一些库来完成它并且它不再受支持。我正在使用默认的。在那个问题中,CustomViewPager扩展了android.support.v4.view.ViewPager。在我的项目中,ViewPagerAdapter扩展了FragmentStatePagerAdapter。

任何帮助都非常有用。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以创建自定义ViewPager,扩展ViewPager并设置禁用和启用滑动的方法。

您可以通过在代码中添加类似下面的类来实现。然后,不要使用ViewPager,只需在代码中使用CustomViewPager:

public class CustomViewPager extends ViewPager {

    private boolean enabled;

    public CustomViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
        this.enabled = true;
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (this.enabled) {
             return super.onTouchEvent(event);
        }
        return false;
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent event) {
        if (this.enabled) {
            return super.onInterceptTouchEvent(event);
        }
        return false;
    }

    public void setPagingEnabled(boolean enabled) {
        this.enabled = enabled;
    }
}

您可以致电:setPagingEnabled(boolean enabled).

停用/启用滑动功能