首页 > 其他分享 >Android v4包下的PagerTitleStrip PagerTabStrip ViewPager的页面标题

Android v4包下的PagerTitleStrip PagerTabStrip ViewPager的页面标题

时间:2022-12-06 10:07:59浏览次数:42  
标签:return ViewPager PagerTabStrip PagerTitleStrip v4 position layout android


1、添加android support包

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

2. activity_main.xml


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<!--
注意事项:
1.这里ViewPager和 PagerTabStrip都要把包名写全了,不然会ClassNotFount
2.API中说:在布局xml把PagerTabStrip当做ViewPager的一个子标签来用,不能拿出来,不然还是会报错
3.在PagerTabStrip标签中可以用属性android:layout_gravity=TOP|BOTTOM来指定title的位置
4.如果要显示出PagerTabStrip某一页的title,需要在ViewPager的adapter中实现getPageTitle(int)
-->

<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="#6B92A5" >

<android.support.v4.view.PagerTabStrip
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" />

<!--
<android.support.v4.view.PagerTitleStrip
android:id="@+id/pagertitle"
android:layout_width="fill_parent"
android:layout_height="45dp"
android:layout_gravity="bottom"
android:visibility="gone" />
-->
</android.support.v4.view.ViewPager>

</RelativeLayout>

这里面有两个控件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);
}
}

效果如下:

Android v4包下的PagerTitleStrip PagerTabStrip ViewPager的页面标题_ide


标签:return,ViewPager,PagerTabStrip,PagerTitleStrip,v4,position,layout,android
From: https://blog.51cto.com/u_11407799/5914554

相关文章

  • NVIDIA Jetson TX2安装opencv4.1
    mkdirbuildvimcv_cmake.sh#!/bin/bashcmake\-DCMAKE_BUILD_TYPE=Release\-DCMAKE_INSTALL_PREFIX=/usr\-DBUILD_PNG=OFF\......
  • MyCms 自媒体系统 v4.1 发布,对接公众号文章排版发布
    MyCms是一款基于Laravel开发的开源免费的开源多语言商城CMS企业建站系统。MyCms基于Apache2.0开源协议发布,免费且可商业使用,欢迎持续关注我们。V4.1更新内容......
  • opencv460在win10+vs2017上的编译
    近期有网友提问,正好把最新的460编译情况简单整理一下。1、下载并解压2、cmake打开,一般选择最新版本cmake3、如果需要编译64位的,这里一定要选64.默认是32位。此外,openc......
  • OpenCV4之C++入门详解
    OpenCV4之C++入门详解1、VisualStudio安装及环境配置与搭建1.下载地址:https://my.visualstudio.com/Downloads?q=Visual,下载后按照说明安装即可登录账号下载即可,建议下......
  • 从IPv4向IPv6的过渡,IPv6三大趋势-中科三方
    以“极致创新、万物智联”为主题的首届IPv6技术应用创新大赛在北京正式启动。本次大赛由中国信通院与上海市通信管理局、上海市经济和信息化委员会、中共上海市委网络安全和......
  • 从IPv4向IPv6的过渡,IPv6三大趋势-中科三方
    以“极致创新、万物智联”为主题的首届IPv6技术应用创新大赛在北京正式启动。本次大赛由中国信通院与上海市通信管理局、上海市经济和信息化委员会、中共上海市委网络安全......
  • IPV4掩码后地址计算
    计算掩码后IP地址template<classT>classSingleInstance{public:staticinlineTinstance(){staticTobj;returnobj;}private:SingleIns......
  • ISAPI和CGI限制中没有ASP.NET v4.0
    文章来源:http://t.zoukankan.com/heyangyi-p-8515812.html[服务器搭建]ISAPI和CGI限制中没有ASP.NETv4.0解决方式:1.确保安装IIS时确实安装了ASP.NET,如果没有的话,勾上重......
  • 直流信号隔离测控光电转换器模拟量0-±10V1-5V转0-10V4-20mA导轨安装
    概述:导轨安装DIN11IPOOC系列模拟信号隔离放大器是一种将输入信号隔离放大、转换成按比例输出的直流信号混合集成厚模电路。产品广泛应用在电力、远程监控、仪器仪表、医疗......
  • IPv4
    简介IP地址占用32位(bit),一般是以4个十进制数来表示,每一个数字称为octet。octet与octet之间以点"."隔开。这个32位的IP地址内包含了网络标识符与主机标识符两部分:网络......