我正在开发一个Android应用程序,该应用程序的页面包含一个tablayout,包括2个选项卡,一个列表页面和一个地图(两个都是片段)。列表元素是包含图像的视图,但是当用户到达viewpager中的最后一个图像时,tablayout将获得下一个滑动事件并切换到地图。如果用户尝试从屏幕的最右侧开始滑动图像,也会发生这种情况。
我想完全切换选项卡之间的滑动功能,但是没有找到方法这样做。
这是我设置标签的方式:
ViewPager fragmentPager = (ViewPager) findViewById(R.id.viewpager);
fragmentPager.setAdapter(new MyPagerAdapter);//extends FragmentPagerAdapter
TabLayout tabLayout = (TabLayout) findViewById(R.id.tablayout);
tabLayout.setupWithViewPager(fragmentPager);
答案 0 :(得分:0)
您可以使用自定义视图寻呼机执行此操作。
创建一个名为Custom_viewpager的类,并将其扩展到XML中。
public class Custom_viewpager extends ViewPager {
private boolean enabled;
public Custom_viewpager(Context context, AttributeSet attrs) {
super(context, attrs);
this.enabled = true;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return enabled ? super.onTouchEvent(event) : false;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
return enabled ? super.onInterceptTouchEvent(event) : false;
}
public void setPagingEnabled(boolean enabled) {
this.enabled = enabled;
}
public boolean isPagingEnabled() {
return enabled;
}
如果要禁用滑动,只需添加以下两行。
viewPager.setPagingEnabled(false);
viewPager.beginFakeDrag();
如果有帮助,请告诉我。 :)