ViewPagerIndicator – 将TabPageIndicator设置为中心

我为时间表申请 Android和我使用ViewPagerIndicator作为片段。 但是现在我遇到了一个问题,我想让TabPageIndicator居中。 喜欢这个: 例

我想要设置个别的标签宽度和高度。 并将该选项卡设置为支持选定/按下状态的绘图。

我还没有find解决这些问题的方法。 我已经尝试使用onPageSelectedContextThemeWrapper东西,但是不起作用。 (也许我没有正确使用它)。

这一切都是可能的,或者我应该看看除了ViewPagerIndicator之外的东西吗? (另外一个没有ViewPagerIndicator的选项也是可以的)。

图片上的应用程序是Untis Mobile,可以在PlayStore上find。 我已经问过创作者他们是怎么做的,但他们说这个应用不是开源的。 (但我发现在源代码中他们用TwoDScrollView来做 ,但我不确定)

编辑:

样式是用vpiTabPageIndicatorStyle 。 (借助XDA开发人员!)

当我添加20个项目时,它只停留在中间,但是从项目4到项目17,项目1,2,3,18,19,20不在中间。 看到:

错误

我可以添加3个空的项目(或空白空间),以确保第一个和最后一个项目在中间? 像这样的东西(从Untis Mobile应用程序):

好

(我已经在vpiTabPageIndicatorStyle尝试了android:paddingLeft ,但是不起作用)

我知道viewPager.setCurrentItem(total/2)将在中间设置TabPageIndicator,但它保持在中间,我无法select其他日子(我在onPageScrolled调用它)。 所以我想当你滚动选定的一个需要在中间。 这可能吗?

Solutions Collecting From Web of "ViewPagerIndicator – 将TabPageIndicator设置为中心"

您正在寻找的小部件类似于android水平轮。 在android-spinnerwheel中有一个实现可以是你所需要的。

在这里输入图像说明

那么你不需要viewpagerindicator。 在您的活动中使用Amulya Kharebuild议的水平滚动视图,并在发生滚动时更换碎片。

你的活动布局可能是这样的:

 <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <SomeWheelView android:layout_height="wrap_content" android:layout_width="match_parent" /> <SomeStaticIndicatorView android:layout_height="wrap_content" android:layout_width="match_parent" /> <FrameLayout android:layout_height="match_parent" android:layout_width="match_parent" /> </LinearLayout> 

设置一个侦听器wheelview,当发生变化,你可以把你的片段framelayout在你的活动。

像这样使用它:

 TabPagerIndicator tbi; ViewPager pager; 

onCreate()这样做

 tbi=(TabPagerIndicator)findViewById(R.id.something); tbi.setViewPager(pager); 

我希望这会为你解决。 :d