文档章节

PagerSlidingTabStrip介绍及使用

m
 miao了个咪
发布于 2016/07/29 09:13
字数 557
阅读 7
收藏 0

PagerSlidingTabStrip介绍及使用

1.加入library作为本地包工程,或者加入依赖在build.gradle(我对gradle不是很了解,所以用前面那个导入包的方法) dependencies { compile 'com.astuetz:pagerslidingtabstrip:1.0.1' }

2.在你的layout里加入PagerSlidingTabStrip控件,它通常要在ViewPager控件之上 <com.astuetz.PagerSlidingTabStrip android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="48dip" />

3.在你的onCreate方法(或者onCreateView对于一个fragment),绑定PagerSlidingTabStrip控件到ViewPager上 // 初始化ViewPager并且添加适配器 ViewPager pager = (ViewPager) findViewById(R.id.pager); pager.setAdapter(new TestAdapter(getSupportFragmentManager()));

//向ViewPager绑定PagerSlidingTabStrip
PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs); tabs.setViewPager(pager);

4.(可选的)如果你想在你的ViewPager用到onPageChangeListener监听方法,你应该如下设置,而不是直接用ViewPager设置 // 从上面继续 tabs.setOnPageChangeListener(mPageChangeListener);

个性化设置 为了让你的app不像另一个 Play Store上面的app,你可以添加这些属性来做出自己独具一格的应用。 pstsIndicatorColor Color of the sliding indicator 滑动条的颜色 pstsUnderlineColor Color of the full-width line on the bottom of the view 滑动条所在的那个全宽线的颜色 pstsDividerColor Color of the dividers between tabs 每个标签的分割线的颜色 pstsIndicatorHeightHeight of the sliding indicator 滑动条的高度 pstsUnderlineHeight Height of the full-width line on the bottom of the view 滑动条所在的那个全宽线的高度 pstsDividerPadding Top and bottom padding of the dividers 分割线底部和顶部的填充宽度 pstsTabPaddingLeftRight Left and right padding of each tab 每个标签左右填充宽度 pstsScrollOffset Scroll offset of the selected tab pstsTabBackground Background drawable of each tab, should be a StateListDrawable 每个标签的背景,应该是一个StateListDrawable pstsShouldExpand If set to true, each tab is given the same weight, default false 如果设置为true,每个标签是相同的控件,均匀平分整个屏幕,默认是false pstsTextAllCaps If true, all tab titles will be upper case, default true 如果为true,所有标签都是大写字母,默认为true 所有的属性都有他们自己的getter和setter方法来随时改变他们 1. tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
2. pager = (ViewPager) findViewById(R.id.pager);
3. adapter = new MyPagerAdapter(getSupportFragmentManager());
4. pager.setAdapter(adapter);
5.
6. tabs.setViewPager(pager); 7. public class MyPagerAdapter extends FragmentPagerAdapter {
8.
9. private final String[] TITLES = { "Categories", "Home", "Top Paid", "Top Free", "Top Grossing", "Top New Paid",
10. "Top New Free", "Trending" };
11.
12. public MyPagerAdapter(FragmentManager fm) {
13. super(fm);
14. }
15.
16. @Override
17. public CharSequence getPageTitle(int position) {
18. return TITLES[position];
19. }
20.
21. @Override
22. public int getCount() {
23. return TITLES.length;
24. }
25.
26. @Override
27. public Fragment getItem(int position) {
28. return SuperAwesomeCardFragment.newInstance(position);
29. }
30.
31. }

© 著作权归作者所有

共有 人打赏支持
m
粉丝 2
博文 10
码字总数 3187
作品 0
海淀
Android实用视图动画及工具系列之七:可定制Tab标签栏,ViewPaper和Fragment滑动标签视图

实现效果 功能说明 本视图工具根据PagerSlidingTabStrip改编优化,修复了部分Bug和增加了更多自定义选项,让PagerSlidingTabStrip变得更漂亮实用。关于PagerSlidingTabStrip,它是配合ViewP...

jaikydota163
2016/08/02
0
0
Android实用视图动画及工具系列之八:带头部的Viewpaper,结合头部的Fragment切换效果

实现效果 功能说明 如果需要在Viewpaper中增加一个头部,让头部在Viewpaper在向下滑动时隐藏,向上滑动时推出,这种情况Android的原生控件便无法满足我们想要的需求,于是我们自己来编写个可...

jaikydota163
2016/08/02
0
0
fragment中你是如何使用PagerSlidingTabStrip的?

就像哎嘛 下面是FragmentTabHost控制的Fragment,这几个小Fragment里面就用到PagerSlidingTabStrip了,又控制展示了3个小Fragment,这个是怎么做的?...

大风厂蔡成功
2014/11/08
681
1
Android TabLayout 库--FlycoTabLayout

FlycoTabLayout 是一个 Android TabLayout 库,目前有两个 TabLayout。 SlidingTabLayout:参照 PagerSlidingTabStrip 进行大量修改。 新增部分属性 新增支持多种 Indicator 显示器 新增支持...

孔小菜
2015/11/11
4.2K
1
Android库和项目收集-ViewPager

PagerSlidingTabStrip 效果图: ViewPagerCards 效果图: InfiniteCycleViewPager DEMO地址 效果图: MagicIndicator 强大、可定制、易扩展的 ViewPager 指示器框架 效果图:...

3kqing
2016/09/07
20
0

没有更多内容

加载失败,请刷新页面

加载更多

TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
53分钟前
1
0
AVA中CAS-ABA的问题解决方案AtomicStampedReference

了解CAS(Compare-And-Swap) CAS即对比交换,它在保证数据原子性的前提下尽可能的减少了锁的使用,很多编程语言或者系统实现上都大量的使用了CAS。 JAVA中CAS的实现 JAVA中的cas主要使用的是...

码代码的小司机
55分钟前
2
0
Android JNI开发系列(十三) JNI异常处理

JNI 异常处理 JNI异常与JAVA处理异常的区别 JAVA 有异常处理机制,而JNI没有 如果JAVA中异常没有捕获,后面的代码不会执行,JNI会执行 JAVA编译时的异常,是在方法显示的声明了某一个异常,编...

蔡小鹏
今天
2
0
简单介绍Java 的JAR包、EAR包、WAR包区别

WAR包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。War专用于Web方面。大部分的JAVA WEB工程,都是打成WAR包进行发布的。 War是...

Linux就该这么学
今天
3
0
Qt那些事0.0.7

在帮助文档(Overview - QML and C++ Integration)中随缘遇到一张图,是关于C++对象与QML整合介绍的,值得标记下来,虽然大部分功能也有所涉猎,但是还是留个记号,万一哪天我失忆了还想写Q...

Ev4n
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部