http://blog.youkuaiyun.com/to_be_designer/article/details/48193653
在ViewPager中我们经常会看到在每个显示的页面上有标题显示,那么我们如何来通过代码来添加呢?Google在给我们提供的v4包中提供了两个控件PagerTabStrip与PagerTitleStrip,通过这两个控件可以在ViewPager中添加标题。
PagerTabStrip与PagerTitleStrip的异同
PagerTabStrip与PagerTitleStrip的使用基本相同,唯一不同的是:
1、PagerTabStrip在当前页面下,会有一个下划线条来提示当前页面的Tab是哪个。
2、PagerTabStrip的Tab是可以点击的,当用户点击某一个Tab时,当前页面就会跳转到这个页面,而PagerTitleStrip则没这个功能。此处引用于大神 @harvic880925 的博客—博文连接
PagerTabStrip的使用
PagerTabStrip的使用有两点:
1. 在ViewPager布局中添加PagerTabStrip控件,设置layout_gravity属性,确定title的显示位置,一般我们都会定义在bottom或者top。
2. 在自定义的PagerAdapter中重写getPageTitle(int position)方法。
ViewPager就这两个步骤,下面我们来看具体的代码实现:
总体布局文件:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
自定义MyPagerAdapterTitle继承PagerAdapter:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
Activity中实现:
(view1 ,view2 ,view3三个布局文件item_frist, item_second, item_third不再列出,每个布局只包含一个ImageView。)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
效果展示:
PagerTitleStrip的使用
PagerTabStrip的使用的使用与PagerTabStrip的使用完全相同。只需要将总体布局中的PagerTabStrip改为PagerTabStrip即可。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
效果展示: