我已经实现了一个无限循环的ViewPager跟随一些在线指南...基本上我伪造了覆盖适配器的GetCount方法的项目数。
效果很好,没问题,片段滑动顺畅...... 我还剩下最后一个问题:我的操作栏处于标签导航模式,所以我希望用当前活动片段更新其标签窗口小部件,问题是如果我在使用“setSelectedNavigationItem”滑动后更新活动标签页“方法,这会触发动画......看起来很奇怪。 我只想设置活动选项卡,以便小部件正确显示哪些片段处于活动状态而不显示动画(已经由其余代码移交)。
mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
getSupportActionBar().setSelectedNavigationItem(
position % mPagerAdapter.getRealCount());
}
});
答案 0 :(得分:0)
我找到了默认操作栏的一些案例。
操作栏中的标签位于ScrollingTabContainerView内。选择选项卡时,将调用animateToTab。还有smoothScrollTo被打电话。
您可以通过反射获取此容器。像这样的呕吐(在我的java中不是shure):
Field tabContainerField getActionBar().class.getDeclaredField("mTabScrollView");
tabContainerField.setAccessible(true);
HorizontalScrollView tabsScroll = (HorizontalScrollView)tabContainerField.get(getActionBar);
在选择标签之前,您可以将容器滚动到正确的位置。我可以看到,此代码也适用于SupportActionBar。
或者您可以创建自己的标签栏而不是使用系统。