文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Memcached启动参数详解

memcached -d -m 1024 -l 192.168.100.101 -p 11211 -P /tmp/memcached.pid -c 1024 -f 1.25 -n 80 -t 16 运行参数描述 -d:以守护(daemon)进程方式启动; -u:是运行Memcache的用户,例如 ......

月下狼
18分钟前
0
0
xgboost-kaggle

https://www.kaggle.com/dansbecker/xgboost This tutorial is part of the Learn Machine Learning series. In this step, you will learn how to build and optimize models with the powe......

tantexian
19分钟前
0
0
nginx学习八 代理服务

最常用的语法 proxy_pass Syntax: proxy_pass URL;Default: --Context:location.if in location,limit_exception 反向代理 例:/etc/nginx/conf.d/default.conf 反向代理(代理服务端)......

Romanceling
26分钟前
0
0
npm ERR! Unexpected end of JSON ...

npm install 报错: npm ERR! Unexpected end of JSON input while parsing near '..."^2.8.14"},"_hasShrin' npm ERR! A complete log of this run can be found in: ... 打开终端 命令: 第......

大_侠
30分钟前
0
0
Android中的设计模式之责任链模式

参考 《设计模式:可复用面向对象软件的基础 》5.1 Chain of responsibility 职责链 对象行为型模式 《Android源码设计模式解析与实战》第9章 使编程更有灵活性--责任链模式 意图 使多个对象...

newtrek
33分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部