一款与Android支持库兼容的ViewPager交互式分页指示器小部件

时间:2018-08-08 17:30 来源:互联网 作者:源码搜藏 浏览: 收藏 挑错 推荐 打印

  • 源码类别:多页切换TabHost
  • 源码大小:未知
  • 编码格式:gbk
  • 运行环境:Android studio
  • 官方网址:暂无
  • 欢迎加入QQ群讨论学习
  • Android学习交流
  • IDC/源码/项目-广告推荐

一款与Android支持库兼容的ViewPager交互式分页指示器小部件

交互式分页指示器小部件,与ViewPagerAndroid支持库兼容


用法

有关此项目的工作实现,请参阅该sample/文件夹。

  1. 在您的build.gradle文件中包含以下依赖项

compile 'com.jpardogo.materialtabstrip:library:1.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" />
  1. 在您的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);

这就是你需要做的所有事情,但如果你想使用自己的标签,那么......

  1. 如果您的适配器实现了界面,CustomTabProvider您可以粘贴自定义选项卡视图。

    • 如果返回的视图包含id R.id.psts_tab_title,则此视图应为a TextView 并将用于放置标题并设置视图状态(按下/选择/默认)。

    • 如果您不希望库管理选项卡的TextView标题,请使用与R.id.psts_tab_title选项卡布局不同的ID 

    • 该界面还提供了选择和取消选择选项卡的回调。

    • 如果您的适配器未实现该接口CustomTabProvider,则将使用默认选项卡,其中TextView包含id R.id.psts_tab_title)。

  2. (可选)如果您使用OnPageChangeListener视图寻呼机,则应在窗口小部件中而不是直接在寻呼机上设置它。

//从上面继续 
tabs.setOnPageChangeListener(mPageChangeListener);

定制

来自主题:

  • android:textColorPrimary 如果未在xml布局上定义值,则值(来自您的主题)将自动应用于选项卡的文本颜色(选定选项卡,包含255个alpha和非选定选项卡,包含150 alpha),underlineColor,dividerColor和indicatorColor。

关于一些本机属性的注释:

  • android:paddingLeftandroid: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如果pstsTabTextColorNOT定义,将施加到非选择的选项卡。
  • pstsTabTextFontFamily设置字体系列名称。sans-serif-mediumAPI 21 sans-serif上的默认值在较旧的API上。

几乎所有属性都有各自的getter和setter来在运行时更改它们。要动态更改pstsTabTextFontFamily, pstsTabTextStyle您可以致电:

  • public void setTypeface(Typeface typeface, int style)它可用于在默认选项卡中定义自定义字体。否则,您可以使用自定义标签CustomTabProvider
一款与Android支持库兼容的ViewPager交互式分页指示器小部件转载请注明出处https://www.codesocang.com/kj-tabhost/38805.html 源码搜藏网所有源码来自用户上传分享,版权问题及牵扯到商业纠纷均与源码搜藏网无关
下一篇:没有了

多页切换TabHost下载排行

最新文章