文档章节

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
699
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

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
21
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
17
0
my.ini

1

architect刘源源
今天
14
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
15
0
寻找数学的广度——《这才是数学》读书笔记2700字

寻找数学的广度——《这才是数学》读书笔记2700字: 文|程哲。数学学习方式之广:国内外数学教育方面的专家,进行了很多种不同的数学学习方式尝试,如数学绘本、数学游戏、数学实验、数学步道...

原创小博客
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部