我最近使用SlidingTabLayout
制作了一个带有两个标签的应用。我提到了link
但是我不得不稍微修改一下。我必须添加一个按钮,锁定选项卡的滑动。再次点击它时解锁它。所以我只是无法让标签不滑动。
我查看了这个问题Disable swiping between tabs。但是他正在使用其他一些库来完成它并且它不再受支持。我正在使用默认的。在那个问题中,CustomViewPager扩展了android.support.v4.view.ViewPager。在我的项目中,ViewPagerAdapter扩展了FragmentStatePagerAdapter。
任何帮助都非常有用。谢谢。
答案 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).