>  기사  >  웹 프론트엔드  >  Android v4包下的PagerTitleStrip PagerTabStrip ViewPager的页面标题_html/css_WEB-ITnose

Android v4包下的PagerTitleStrip PagerTabStrip ViewPager的页面标题_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 11:47:291121검색

1、添加android support包

因为几个类都是在android support包中才提供,我们先添加android-support-v4.jar文件到工程的libs目录下即可。

2. activity_main.xml


    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

   

            android:id="@+id/view_pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:background="#6B92A5" >

                    android:id="@+id/pager_tabstrip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:background="#33b5e5"
            android:textColor="#ffffff" />

       
   

这里面有两个控件PagerTitleStrip和PagerTabStrip,这两个控件必须当作ViewPager的子控件来用,否则会报错。

两个控件有什么区别呢?

简单的理解就是:

PagerTabStrip:交互式

PagerTitleStrip:非交互式

经过简单测试发现:

PagerTabStrip:

    ① 点击上面的标题可以实现ViewPager的切换。

    ② 选中的文字下方包含指引线

    ③ 显示全宽下划线(setDrawFullUnderline)

PagerTitleStrip:

    ① 点击上面的标题无反应。

    ② 无上述描述。

3. 设置title值

PagerAdater里面有一个getPageTitle,需要重写,然后可以根据不同的page返回不同的title

private class MyPagerAdapter extends PagerAdapter {

@Override
public int getCount() {
return mImageListView.size();
}


@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}


@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(mImageListView.get(position));
return mImageListView.get(position);
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(mImageListView.get(position));
}


@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "页面0";
case 1:
return "页面1";
case 2:
return "页面2";
case 3:
return "页面3";
}
return super.getPageTitle(position);
}
}


效果如下:



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.