在第一课

学前准备:掌握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节点下加入子节点:

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

详细例如以下:

 <android.support.v4.view.ViewPager
android:id="@+id/vp_viewpage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@+id/rg_tab" > <android.support.v4.view.PagerTabStrip
android:layout_width="fill_parent"
android:layout_height="50dp" >
</android.support.v4.view.PagerTabStrip>
</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);

}

详细例如以下:

public class MainActivity extends Activity {
private ViewPager viewpager;
private List<View> children; private List<String> titles;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewpager = (ViewPager) findViewById(R.id.vp_viewpage);
children = new ArrayList<View>();
children.add(LayoutInflater.from(this).inflate(R.layout.page01, null));
children.add(getLayoutInflater().inflate(R.layout.page02, null));
children.add(getLayoutInflater().inflate(R.layout.page03, null));
children.add(getLayoutInflater().inflate(R.layout.page04, null));
titles = new ArrayList<String>();
titles.add("page01");
titles.add("page02");
titles.add("page03");
titles.add("page04");
viewpager.setAdapter(new InnerPagerAdapter());
}
public class InnerPagerAdapter extends PagerAdapter{
@Override
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
return titles.get(position);
} @Override
public int getCount() {
//获取子级布局的数量 return children.size();//返回viewpage容器中子级布局的个数,
} @Override
public boolean isViewFromObject(View view, Object object) {
// 推断某个View对象是否为当前被加入到ViewPager容器中的对象
return view == object;
} //以下两个方法是PageAdapter中必须实现的非抽象方法
@Override
public Object instantiateItem(ViewGroup container, int position) {
// 实例化ViewPager容器中指定的position位置须要显示的View对象
View view = children.get(position);
container.addView(view); return view;
} @Override
public void destroyItem(ViewGroup container, int position, Object object) {
//在ViewPager中移除指定的position位置的View对象
container.removeView(children.get(position));
}
} }

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. poj1328Radar Installation 贪心

    Radar Installation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 64472   Accepted: 14 ...

  2. Android全局退出的两种方法

    第一种方法参考<第一行代码>78页 建立一个ActivityCollector类,提供静态方法addActivity,fininshAll(以list为容器) 然后我们建立的Activit ...

  3. POJ 2457 BFS

    题意: 说人话: 从A到B连边 找从1到k的最短路 并输出路径(随便一条即可 ) 如果不能到达 输出-1 思路: 搜 //By SiriusRen #include <queue> #in ...

  4. errpt命令

    errpt –a 详细信息 errpt  -a –s [TIMESTAMP] errpt –aj  [IDENTIFIER] errclear 清除(后面接参数) errpt -aj BFE4C025 ...

  5. Java-Spring-WebService最基础的配置示例

    很早很早之前,就初步学习了WebService,感觉还是比较"好"的.  使用Web服务,感觉就像普通API一样,和HTTP接口比较起来.  WebService有个很大的局限,就 ...

  6. Linux搭建aspx.net环境之:CentOs 7 安装 Mono 和 Jexus 步骤记录

    1 因为163没有CentOs7的镜像.所以没有加这个 wget  http://mirrors.163.com/.help/CentOS6-Base-163.repo cd /etc/yum.rep ...

  7. Directx9.0 学习教程3 -图形学之创建点 线 三角形 等

    1.首先 介绍点的表示方法 struct CUSTOMVERTEX { float x,y,z; }; CUSTOMVERTEX Vertices[] = { {-5.0, -5.0, 0.0}, { ...

  8. 27.Node.js模块系统

    转自:http://www.runoob.com/nodejs/nodejs-module-system.html 为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统. 模 ...

  9. jQuery返回值:jQuery对象

    $(function(){ //返回值 alert($); //jQuery //以下返回的全是jQuery对象 alert($()); alert($('#box')); alert($('#box ...

  10. SuSe Linux 10 企业服务器搭建双机集群配置实例

      650) this.width=650;" onclick="window.open("http://blog.51cto.com/viewpic.php?refim ...