在第一课

学前准备:掌握ViewPage第一课http://blog.csdn.net/wei_chong_chong/article/details/50468832

为ViewPage加入标题:

PageTabStrip是PageTitleStrip的子类

PageTabStrip的使用与PageTitleStrip全然一样,

实现效果。pageTabStrip的标题文字带有Indicator。而且能够通过点击标题切换页面的显示。

使用直接把以下的第一步中的<android.support.v4.view.PagerTitleStrip换成android.support.v4.view.PagerTabStrip即可了

布局文件:

在<android.support.v4.view.ViewPager节点下加入子节点:

  1. <android.support.v4.view.PagerTabStrip
  2. android:layout_width="fill_parent"
  3. android:layout_height="50dp" >
  4. </android.support.v4.view.PagerTabStrip>

详细例如以下:

  1. <android.support.v4.view.ViewPager
  2. android:id="@+id/vp_viewpage"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:layout_above="@+id/rg_tab" >
  6.  
  7. <android.support.v4.view.PagerTabStrip
  8. android:layout_width="fill_parent"
  9. android:layout_height="50dp" >
  10. </android.support.v4.view.PagerTabStrip>
  11. </android.support.v4.view.ViewPager>

第二步:MainActivity中加入

private List<String> titles;

并初始化

titles = new ArrayList<String>();

titles.add("page01");

titles.add("page02");

titles.add("page03");

titles.add("page04");

并在内部类中实现方法:









@Override

public CharSequence getPageTitle(int position) {

// TODO Auto-generated method stub

return titles.get(position);

}

详细例如以下:

  1. public class MainActivity extends Activity {
  2. private ViewPager viewpager;
  3. private List<View> children;
  4.  
  5. private List<String> titles;
  6. @Override
  7. protected void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.activity_main);
  10. viewpager = (ViewPager) findViewById(R.id.vp_viewpage);
  11. children = new ArrayList<View>();
  12. children.add(LayoutInflater.from(this).inflate(R.layout.page01, null));
  13. children.add(getLayoutInflater().inflate(R.layout.page02, null));
  14. children.add(getLayoutInflater().inflate(R.layout.page03, null));
  15. children.add(getLayoutInflater().inflate(R.layout.page04, null));
  16. titles = new ArrayList<String>();
  17. titles.add("page01");
  18. titles.add("page02");
  19. titles.add("page03");
  20. titles.add("page04");
  21. viewpager.setAdapter(new InnerPagerAdapter());
  22. }
  23. public class InnerPagerAdapter extends PagerAdapter{
  24. @Override
  25. public CharSequence getPageTitle(int position) {
  26. // TODO Auto-generated method stub
  27. return titles.get(position);
  28. }
  29.  
  30. @Override
  31. public int getCount() {
  32. //获取子级布局的数量
  33.  
  34. return children.size();//返回viewpage容器中子级布局的个数,
  35. }
  36.  
  37. @Override
  38. public boolean isViewFromObject(View view, Object object) {
  39. // 推断某个View对象是否为当前被加入到ViewPager容器中的对象
  40. return view == object;
  41. }
  42.  
  43. //以下两个方法是PageAdapter中必须实现的非抽象方法
  44. @Override
  45. public Object instantiateItem(ViewGroup container, int position) {
  46. // 实例化ViewPager容器中指定的position位置须要显示的View对象
  47. View view = children.get(position);
  48. container.addView(view);
  49.  
  50. return view;
  51. }
  52.  
  53. @Override
  54. public void destroyItem(ViewGroup container, int position, Object object) {
  55. //在ViewPager中移除指定的position位置的View对象
  56. container.removeView(children.get(position));
  57. }
  58. }
  59.  
  60. }

ViewPage第二课为ViewPage加入标题的更多相关文章

  1. NeHe OpenGL教程 第二课:多边形

    前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢 ...

  2. 【Linux探索之旅】第二部分第二课:命令行,世界尽在掌握

    内容简介 1.第二部分第二课:命令行,世界尽在掌握 2.第二部分第三课预告:文件和目录,组织不会亏待你 命令行,世界尽在掌握 今天的标题是不是有点霸气侧漏呢? 读者:“小编,你为什么每次都要起这么非主 ...

  3. 【Linux探索之旅】第一部分第二课:下载Linux,免费的噢

    内容简介 1.第一部分第二课:下载Linux,免费的噢 2.第一部分第三课预告:测试并安装Ubuntu 下载Linux,免费的噢 大家好,上一课我们认识了非常“霸气侧漏”的Linux操作系统. 也知道 ...

  4. 【C语言探索之旅】 第三部分第二课:SDL开发游戏之创建窗口和画布

    内容简介 1.第三部分第二课: SDL开发游戏之创建窗口和画布 2.第三部分第三课预告: SDL开发游戏之显示图像 第三部分第二课:SDL开发游戏之创建窗口和画布 在上一课中,我们对SDL这个开源库做 ...

  5. 【JavaScript从入门到精通】第二课 初探JavaScript魅力-02

    第二课 初探JavaScript魅力-02 变量 说起变量,我们不得不提起我们有一部比较古老的电视剧叫<包青天>.包青天有一把非常厉害的宝剑叫“尚方宝剑”,见到尚方宝剑有如见到皇帝.某种程 ...

  6. Android之ViewPager 第二课

    在这里只粘贴部分代码 在第一课中,只有View滑动完毕,才触发动画效果,令滑块移动,在第二课中,将实现滑块与View同步运行. SecondActivity.java package com.andr ...

  7. 【JavaScript从入门到精通】第二课

    第二课 初探JavaScript魅力-02 变量 说起变量,我们不得不提起我们有一部比较古老的电视剧叫<包青天>.包青天有一把非常厉害的宝剑叫“尚方宝剑”,见到尚方宝剑有如见到皇帝.某种程 ...

  8. CI(CodeIgniter)框架入门教程——第二课 初始MVC

    本文转载自:http://www.softeng.cn/?p=53 今天的主要内容是,使用CodeIgniter框架完整的MVC内容来做一个简单的计算器,通过这个计算器,让大家能够体会到我在第一节课中 ...

  9. OpenCV 第二课 认识图像的存储结构

    OpenCV 第二课 认识图像的存储结构 Mat Mat 类包含两部分,矩阵头和矩阵体.矩阵头包含矩阵的大小,存储方式和矩阵体存储空间的指针.因此,Mat中矩阵头的大小是固定的,矩阵体大小是不定的. ...

随机推荐

  1. Android NDK课程录制完毕上线

    近期依据公司安排,录制了Android NDK开发的内容,总体课程能够在www.iotekclass.com上看到.兴许会慢慢的用blog把这些内容展示出来. 此课程大纲例如以下: 第一章 NDK简单 ...

  2. Node.js转化GBK编码 - iconv-lite

    node当使用node获取GBK编码的数据时,nodejs仅仅支持utf-8,node没有提供转换编码的原生支持,有倒是有一个模块iconv能干这个事,但须要本地方法,VC++库的支持.国外有个大牛写 ...

  3. 【POJ 2482】 Stars in Your Window(线段树+离散化+扫描线)

    [POJ 2482] Stars in Your Window(线段树+离散化+扫描线) Time Limit: 1000MS   Memory Limit: 65536K Total Submiss ...

  4. js插件---评分插件Rating如何使用

    js插件---评分插件Rating如何使用 一.总结 一句话总结:form下的input和a标签,input记录值,a标签显示样式 12 <form data-am-rating> 13 ...

  5. Toeplitz matrix 与 Circulant matrix

    之所以专门定义两个新的概念,在于它们特殊的形式,带来的特别的形式. 1. Toeplitz matrix 对角为常数: n×n 的矩阵 A 是 Toepliz 矩阵当且仅当,对于 Ai,j 有: Ai ...

  6. Vue中独立组件之间数据交互

    独立组件之间数据交互:通过自定义事件 组件A中的[数据],传递给组件B 1.创建组件A,组件B 2.组件B在实例创建完成时就开始监听事件[等待接收数据]:钩子 3.组件A中触发事件,发送数据 注意:接 ...

  7. telint---切换当前正在运行的Linux系统的运行等级

    telint命令用于切换当前正在运行的Linux系统的运行等级 Send control commands to the init daemon. --help Show this help --no ...

  8. C++异常实现与longjmp, setjmp,栈指针EBP, Active Record

    这篇讲的不错: http://blog.csdn.net/smstong/article/details/50728022 首先Active Record 然后EBP,ESP等指针 2 通过setjm ...

  9. [TypeScript] Model Alternatives with Discriminated Union Types in TypeScript

    TypeScript’s discriminated union types (aka tagged union types) allow you to model a finite set of a ...

  10. poj 1001 java大精度

    import java.io.* ; import java.math.* ; import java.util.* ; import java.text.* ; public class Main ...