在SlidingTabLayout中制作标签不会滑动

MVK*_*059 6 android android-fragments pagerslidingtabstrip

我最近使用SlidingTabLayout两个标签创建了一个应用程序.我提到了这个链接

滑动标签

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

我检查了这个问题禁用在选项卡之间滑动.但是他正在使用其他一些库来完成它并且它不再受支持.我正在使用默认的.在那个问题中,CustomViewPager扩展了android.support.v4.view.ViewPager.在我的项目中,ViewPagerAdapter扩展了FragmentStatePagerAdapter.

任何帮助都会非常有用.谢谢.

Iri*_*ram 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以通过调用以下命令来禁用/启用滑动:setPagingEnabled(boolean enabled).