ViewPage第二课为ViewPage加入标题

在第一课

学前准备:掌握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));
		}
	}

}
时间: 2024-10-12 12:38:54

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

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

内容简介 1.第三部分第二课: SDL开发游戏之创建窗口和画布 2.第三部分第三课预告: SDL开发游戏之显示图像 第三部分第二课:SDL开发游戏之创建窗口和画布 在上一课中,我们对SDL这个开源库做了介绍,也带大家配置了SDL的开发环境.请大家按照上一课的步骤创建一个SDL工程,能够初步运行. 如果遇到问题,可以百度,Google相关平台SDL的配置.或者联系小编. 当然了,有些朋友可能会说开发C语言游戏还可以用GTK+这个库,但是个人认为GTK+没有SDL那么适合开发游戏,其创建图形界面的能

Android之ViewPager 第二课

在这里只粘贴部分代码 在第一课中,只有View滑动完毕,才触发动画效果,令滑块移动,在第二课中,将实现滑块与View同步运行. SecondActivity.java package com.android3; import android.annotation.SuppressLint; import android.content.Intent; import android.graphics.BitmapFactory; import android.graphics.Matrix; im

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

内容简介 1.第二部分第二课:命令行,世界尽在掌握 2.第二部分第三课预告:文件和目录,组织不会亏待你 命令行,世界尽在掌握 今天的标题是不是有点霸气侧漏呢? 读者:"小编,你为什么每次都要起这么非主流的标题呢?不能愉快地玩耍么?" 小编:"那我问你,老子他为什么要写<道德经>咧?" 读者:"为什么咧?" 小编:"因为老子愿意!" 开个小玩笑轻松一下 O(∩_∩)O~ 没办法,不能不激动,因为我们终于来到了这一刻,

【Linux探索之旅】第三部分第二课:流、管道、重定向,三管齐下

内容简介 1.第三部分第二课:流.管道.重定向,三管齐下 2.第三部分第三课预告:监视系统活动,滴水不漏 流.管道.重定向,三管齐下 这一课我们来学一些非常有用的内容,而且相当有意思,而且内容很多,而且有可能颠覆你的三<观>(毕竟三管齐下,不颠覆三观也难). 今天的标题中的三个名称,听上去就怪怪的.什么流,管道,重定向,都啥玩意啊.不过希望学完这课,大家能够有拨云见雾的感觉. 到目前为止,我们已经学习了不少Linux的命令了,也已经比较熟悉命令行的用法了.其最基本用法是这样的: 在终端输入命令

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

 内容简介 1.第一部分第二课:下载Linux,免费的噢 2.第一部分第三课预告:测试并安装Ubuntu 下载Linux,免费的噢 大家好,上一课我们认识了非常"霸气侧漏"的Linux操作系统. 也知道了它的吉祥物:企鹅,叫Tux(燕尾服的意思),而且它是一只雄性的企鹅,爷们,24K纯滴.(这个不重要好不,小编...) 我们还提到了什么是操作系统,Linux的历史和不同的Linux发行版.也确定了我们后续课程要使用的Linux发行版:Ubuntu.幸好,在各个Linux发行版(每个发

Linux探索之旅 | 第五部分第二课:一入Shell深似海,酷炫外壳惹人爱

-- 简书作者 谢恩铭 转载请注明出处 内容简介 前言 Shell是什么? 我们的第一个Shell脚本 运行Shell脚本 总结 第五部分第三课预告:变量在手,Shell不愁 1. 前言 上一课是 Linux探索之旅 | 第五部分第一课:Vim岂是池中物,宝剑锋从磨砺出 . 现在,我们已经学习了 Vim 这样强大的文本编辑器.相信我,Vim 对我们之后的课程会非常有用. 这一课我们可以进入第五部分的重心了:Shell 编程. 什么是Shell呢? 首先,shell 是英语"壳,外壳"的

手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫

系列教程 手把手教你写电商爬虫-第一课 找个软柿子捏捏 如果没有看过第一课的朋友,请先移步第一课,第一课讲了一些基础性的东西,通过软柿子"切糕王子"这个电商网站好好的练了一次手,相信大家都应该对写爬虫的流程有了一个大概的了解,那么这课咱们就话不多说,正式上战场,对垒尚妆网. 首先,向我们被爬网站致敬,没有他们提供数据,我们更是无从爬起,所以先安利一下尚妆网: 经营化妆品时尚购物,大数据为驱动,并依托智能首饰为入口的新一代智慧美妆正品电子商务平台.其创始团队来自天猫.支付宝.欧莱雅.薇姿

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

第二课 初探JavaScript魅力-02 变量 说起变量,我们不得不提起我们有一部比较古老的电视剧叫<包青天>.包青天有一把非常厉害的宝剑叫"尚方宝剑",见到尚方宝剑有如见到皇帝.某种程度来说,变量具有类似于尚方宝剑的特性. 我们对第一课末的代码进行如下修改: function toGreen() { var oDiv=document.getElementById('div1'); //变量 oDiv.style.width='300px'; oDiv.style.he

第二课:IOS(App)UIImage控件与TextField控件学习

作为一名实习生我是1.3.5在办公室工作,2.4.6去另一个地方听课学习IOS(app)课程,为了不落下课程,我准备每天晚上把落下的课程自学一遍,把不懂的记下等去听课的时候问老师,希望自己能跟上学习的步伐,不浪费时间.这一课是前几天听的,今天一起也写上了. 第二课:IOS(App)UIImage控件与TextField控件的学习,代码如下 一:UIImage控件代码:把图片添加到视图中并设置大小,这里没有牵涉到图片背景的颜色设置,我猜想应该是没必要去设置的吧,因为没有按钮功能的话背景颜色也看不到