我最近使用带有两个选项卡的 SlidingTabLayout
制作了一个应用程序。我提到了这个link
但是我不得不稍微修改一下。我必须添加一个按钮来锁定选项卡的滑动。并在再次点击时解锁。所以我就是无法让标签不滑动。
我检查了这个问题Disable swiping between tabs .但他正在使用其他一些库来做这件事,它不再受支持。我用的是默认的。在那个问题中,CustomViewPager 扩展了 android.support.v4.view.ViewPager。在我的项目中,ViewPagerAdapter 扩展了 FragmentStatePagerAdapter。
任何帮助都会非常有用。谢谢。
最佳答案
您可以制作一个自定义的 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)。
关于android - 使 Sliding TabLayout 中的标签不滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34413217/