ViewPagerAndroid支持库兼容。

有关此项目的工作实现,请参阅该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,则此视图应为a TextView 并将用于放置标题并设置视图状态(按下/选择/默认)。
如果您不希望库管理选项卡的TextView标题,请使用与R.id.psts_tab_title选项卡布局不同的ID 。
该界面还提供了选择和取消选择选项卡的回调。
如果您的适配器未实现该接口CustomTabProvider,则将使用默认选项卡,其中TextView包含id R.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-mediumAPI 21 sans-serif上的默认值,在较旧的API上。
几乎所有属性都有各自的getter和setter来在运行时更改它们。要动态更改pstsTabTextFontFamily, pstsTabTextStyle您可以致电:
public void setTypeface(Typeface typeface, int style)。它可用于在默认选项卡中定义自定义字体。否则,您可以使用自定义标签CustomTabProvider。
一款与Android支持库兼容的ViewPager交互式分页指示器小部件
Android实现360手机助手TabHost的波纹效果
Android炫酷的Activity切换效果,共享元素
Android自定义View--Flyme6的Viewpager指示器源码
Indicator 取代 tabhost,实现网易顶部tab,新浪微博主页底部tab
FragmentTabHost + ViewPager实现的Android底部Tab
基于Fragement机制的轻量级框架组合,帮助你快速创建项目
Android实现360手机助手TabHost的波纹效果
Android炫酷的Activity切换效果,共享元素
Android自定义View--Flyme6的Viewpager指示器源码
FragmentTabHost + ViewPager实现的Android底部Tab
热门源码