在第一课

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

最新文章

  1. AdminLTE-2.2.0 学习
  2. 神奇的decimal,也许面试会问到哦~
  3. go2shell的安装与修改默认terminal方法
  4. Linux使用
  5. trace 日志
  6. c3p0写连接池 Demo
  7. 卸载oracle 11g数据库
  8. 移动端--用PX为单位+JS框架 实现页面布局
  9. Eclipse 中 SVN 插件的安装与使用
  10. LINUX内核分析第六周学习总结——进程的描述与创建
  11. Kubernetes之Controllers二
  12. Silverlight子窗口(ChildWindow)传递参数到父窗口演示
  13. BZOJ 1007 水平可见直线 | 计算几何
  14. 信号处理篇alarm ferror kill mkfifo pause pclose perror pipe popen sigaction sigaddset sigdelset sigemptyset signal sleep strerror
  15. C++的多态例子
  16. 1060 Are They Equal
  17. [CJOJ2425][SYZOI Round1]滑稽的树
  18. bzoj1556 (DP)
  19. 水题 Codeforces Round #299 (Div. 2) A. Tavas and Nafas
  20. Android 给按钮添加监听事件

热门文章

  1. POJ 3613 Cow Relays 恰好n步的最短路径
  2. Linux监控(OS,MySQL,Tomcat,Apache)
  3. findFocus-获得拥有焦点的控件
  4. c++中sizeof()的用法介绍
  5. 漫漫人生路,学点Jakarta基础-Java8函数式编程
  6. 68.connect-flash 用法详解 req,flash()
  7. 59.node的serve-favicon中间件的使用
  8. asp.net大数据导出execl实现分开压缩并下载
  9. Impala储存与分区
  10. JavaScript--数据结构算法之链表