一款与Android支持库兼容的ViewPager交互式分页指示器小部件
交互式分页指示器小部件,与ViewPager
Android支持库兼容。用法
有关此项目的工作实现,请参阅该sample/
文件夹。
- 在您的
build.gradle
文件中包含以下依赖项。
compile 'com.jpardogo.materialtabstrip:library:1.1.1'
或者将库添加为项目。我试图发送拉取请求,但看起来原始开发人员不再维护它了。
-
PagerSlidingTabStrip
在布局中包含小部件。这应该通常放在ViewPager
它代表的上方。
<com.astuetz.PagerSlidingTabStrip android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" />
- 在您的
onCreate
方法(或onCreateView
片段)中,将小部件绑定到ViewPager
:
//初始化ViewPager并设置一个适配器
ViewPager pager = (ViewPager) findViewById(R.id.pager); pager.setAdapter(new TestAdapter(getSupportFragmentManager()));//绑定的标签到ViewPager
PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs); tabs.setViewPager(pager);
这就是你需要做的所有事情,但如果你想使用自己的标签,那么......
-
如果您的适配器实现了界面,
CustomTabProvider
您可以粘贴自定义选项卡视图。-
如果返回的视图包含id
R.id.psts_tab_title
,则此视图应为aTextView
并将用于放置标题并设置视图状态(按下/选择/默认)。 -
如果您不希望库管理选项卡的TextView标题,请使用与
R.id.psts_tab_title
选项卡布局不同的ID 。 -
该界面还提供了选择和取消选择选项卡的回调。
-
如果您的适配器未实现该接口
CustomTabProvider
,则将使用默认选项卡,其中TextView
包含idR.id.psts_tab_title
)。
-
-
(可选)如果您使用
OnPageChangeListener
视图寻呼机,则应在窗口小部件中而不是直接在寻呼机上设置它。
//从上面继续
tabs.setOnPageChangeListener(mPageChangeListener);
定制
来自主题:
-
android:textColorPrimary
如果未在xml布局上定义值,则值(来自您的主题)将自动应用于选项卡的文本颜色(选定选项卡,包含255个alpha和非选定选项卡,包含150 alpha),underlineColor,dividerColor和indicatorColor。
关于一些本机属性的注释:
-
android:paddingLeft
或android:paddingRight
布局填充。如果你同时使用它们,它们应该是平衡的。查看问题#69以获取更多信息。
自定义属性:
-
pstsIndicatorColor
滑动指示器的颜色。textColorPrimary
将是它的默认颜色值。 -
pstsIndicatorHeight
滑动指示器的高度。 -
pstsUnderlineColor
视图底部的全宽线的颜色。textColorPrimary
将是它的默认颜色值。 -
pstsUnderlineHeight
视图底部的全宽线高度。 -
pstsDividerColor
标签之间的分隔线的颜色。textColorPrimary
将是它的默认颜色值。 -
pstsDividerWidth
分隔线的行程宽度,默认为0。 -
pstsDividerPadding
分隔线的顶部和底部填充。 -
pstsShouldExpand
如果设置为true,则每个选项卡的权重相同,默认为false。 -
pstsScrollOffset
滚动选定选项卡的偏移量。 -
pstsPaddingMiddle
如果为true,则选项卡从视图的中间开始(如Newsstand谷歌应用程序)。 -
pstsTabPaddingLeftRight
每个标签的左右填充。 -
pstsTabBackground
每个选项卡的后台drawable,应该是StateListDrawable。 -
pstsTabTextSize
标签文字大小(sp)。 -
pstsTabTextColor
选项卡文本颜色可以是颜色(文本颜色不会更改),也可以是每个状态颜色的选择器:按下(按下选项卡),选中(选项卡处于活动状态),默认(活动非活动)。选择器中的状态顺序很重要。查看问题#68以获取更多信息。 -
pstsTabTextStyle
设置文本样式,在API 21上默认为normal,在旧API上为粗体。 -
pstsTabTextAllCaps
如果为true,则所有制表符都将为大写,默认为true。 -
pstsTabTextAlpha
为非选定选项卡设置文本Alpha透明度。范围0..255。150是它的默认值。如果在布局中定义,则不会使用它pstsTabTextColor
。如果pstsTabTextColor
是NOT定义,将施加到非选择的选项卡。 -
pstsTabTextFontFamily
设置字体系列名称。sans-serif-medium
API 21sans-serif
上的默认值,在较旧的API上。
几乎所有属性都有各自的getter和setter来在运行时更改它们。要动态更改pstsTabTextFontFamily
, pstsTabTextStyle
您可以致电:
-
public void setTypeface(Typeface typeface, int style)
。它可用于在默认选项卡中定义自定义字体。否则,您可以使用自定义标签CustomTabProvider
。
资源均来自第三方,谨慎下载,前往第三方网站下载