ViewPager
-----------------------------------
【基本特性】
1. ViewPager是容器类控件
2. ViewPager支持多个layout切换显示
3. ViewPager支持手势左右滑动,并自带左右平移动画
【关于支持jar包】
由于ViewPager是Android 3.0以后推出的新控件,为了兼容当时市场占有比例最高的Android 2.3.3,Google使用了jar包以实现对低版本的兼容。
【在layout中使用ViewPager】
由于ViewPager是v4包中的View类,在layout中使用时,必须显式的添加ViewPager所在的包名,例如<android.support.v4.view.ViewPager />
【使用ViewPager】
1. 创建所需的若干个layout
2. 在Activity中,创建List<View>集合,将各个layout加载为View对象后添加到集合中
3. 初始化ViewPager控件
4. 自定义类继承PagerAdapter,重写抽象方法,并且重写instantiateItem()与destroyItem()方法
5. 为ViewPager配置PagerAdapter
【关于PagerAdapter中的方法】
1. instantiateItem():初始化需要显示的View对象,需要将对象添加到参数container中,并作为该方法的返回值
2. destroyItem():销毁(移除)滑出屏幕的View对象,通过调用参数container的removeView()方法即可实现
3. getCount():返回需要显示的View的数量
4. isViewFromObject():将2个参数使用==对比即可
【PagerTitleStrip和PagerTabStrip】
PagerTitleStrip和PagerTabStrip都可以用于显示ViewPager的标题,在显示标题时,需要重写ViewPager对应的PagerAdapter中的getPageTitle()方法,以确定获取的标题文字。
PagerTitleStrip只会显示文字标题,且不可以点击,PagerTabStrip在显示文字标题时,还会在文字下方显示标题指示器,且标题可以点击用于切换页面显示。
关键字:Tab,Indicator

Fragment
-----------------------------------
Fragment表示“碎片”,它的设计理念是将Activity划分为不同的区块,各区块可以是某个控件,也可以是由Fragment实现显示的部分。
【基本特性】
1. 可以在布局中添加某个容器承载Fragment,具体的显示内容由Fragment实现
2. Fragment可以被附加到容器中,也可以被其它Fragment替换,也可以被从容器中移除,无论是哪种操作,对于Fragment的宿主Activity及该Activity中其它的部分不会产生影响
3. Fragment有独立的生命周期
【创建流程】
1. 自定义View,继承android.support.v4.app.Fragment
2. 重写onCreateView()方法,确定需要显示的内容的View对象,并作为该方法的返回值
【使用ViewPager+Fragment】
1. 将Activity类修改为继承自FragmentActivity
2. 自定义类,继承android.support.v4.app.FragmentPagerAdapter,并重写抽象方法
3. 在自定义的FragmentPagerAdapter中定义构造方法时,需要FragmentManager对象,可以通过调用getSupportFragmentManager()方法获取
4. 在自定义的FragmentPagerAdapter中的getItem()方法中,根据参数position创建不同的Fragment对象。
【注意事项】
1. 由于Fragment不是Context的子孙类,在Fragment中需要Context对象时,应该通过调用getActivity()获取其宿主Activity的对象,用于表示上下文对象

关于ViewPager相关推荐

  1. Android RecyclerView(和SnapHelper) 实现类似ViewPager的效果

    实现的效果图如下 2 行代码就实现了,其余的都是recyclerview 的代码 如果不显示一次可以滑动多个的话可以使用LinearSnapHelper 具体代码如下(实际就2行代码呢) recycl ...

  2. ViewPager 实现界面加载不同的数据

    demo 地址 下面是要要实现的效果图 有点类似RecyclerView 不过这个ViewPager 实现的 数据呢也是在adapter 中实现呢, 下面就直接上代码看看把 public class ...

  3. ViewPager与Fragment结合使用,以及切换的时候Fragment 的生命周期

    下面要做的效果图下图 首先我们创建一个适配器如下 public class FraPagerAdapter extends FragmentPagerAdapter {private List< ...

  4. ViewPager 设置间距的方法

    要实现的效果如下图 第一种方法:viewpager 外层添加一个布局 记得添加 android:clipChildren="false" // 是否限制子View在其范围内,默认为 ...

  5. 友盟页面统计 - 关于Viewpager中的Fragment的生命周期

    Activity和Fragment各自理论上的生命周期 Activity的生命周期是较为经典也最清晰的,在此不表: Fragment从出现到广泛运用也有一段时间了,其标准生命周期也仅比Activity ...

  6. android 可折叠标题栏,ViewPager + Fragment + 折叠式标题栏异常

    我模仿别人的知乎日报,新闻列表页没问题,内容明细页(NewsDetail)用的是ViewPager+Fragment.可以左右滑动看左右的新闻的. 我的项目地址是链接描述 但是我在做顶部可折叠式标题栏 ...

  7. android Viewpager取消预加载及Fragment方法的学习

    1.在使用ViewPager嵌套Fragment的时候,由于VIewPager的几个Adapter的设置来说,都会有一定的预加载.通过设置setOffscreenPageLimit(int numbe ...

  8. android 弹出fragment,Android中ViewPager获取当前显示的Fragment

    前言 在项目中,有时会用到在ViewPager中显示同样类型的Fragment,同时这样的Fragment的个数是动态的,但是PagerAdapter没有给我们提供getCurrentFragment ...

  9. 【Android】ViewPager实现无限循环滚动

    最近做的一个项目,客户要求在ViewPager实现的主页面中滑动到最后一页后继续滑动能返回到第一页,也就是实现无限循环滚动,效果如下: 看了下ViewPager没有滑到尽头的回调方法,因此想到的解决方 ...

  10. Android ViewPager使用具体解释

    这是谷歌官方给我们提供的一个兼容低版本号安卓设备的软件包,里面包囊了仅仅有在安卓3.0以上能够使用的api.而viewpager就是当中之中的一个利用它,我们能够做非常多事情,从最简单的导航,到页面菜 ...

最新文章

  1. c# hdf5 写string_聊一聊C#8.0中的 await foreach
  2. python绘制灰度图片直方图-python+opencv 灰度直方图及其二值化
  3. 破解IDEA2018的正确姿势
  4. 我有一个竞争方法,让用户去选择你的产品而不是别人
  5. MyBatisPlus中常用条件构造器示例代码
  6. 机器学习一定要很优秀才能做嘛?其实我们都可以。
  7. ceph osd跟cpu进行绑定
  8. md5与des算法有何不同_Python算法详解:为什么说算法是程序的灵魂?
  9. 来自一个从事单片机工作中遇到的真人真事,单片机从业者可以借鉴
  10. 2019 The Preliminary Contest for ICPC China Nanchang National Invitational
  11. 【Pytorch官方教程】从零开始自己搭建RNN1 - 字母级RNN的生成任务
  12. 硬核 | 用Python给女朋友送一颗彩蛋
  13. 数据链路层(以太网、MTU、ARP协议)
  14. 在CentOS上MySQL数据库服务器配置方法
  15. 【批量解压d文件】d文件是GNSS观测数据文件
  16. 解决Word文档中表格不会自动换页,而是在同一页word上往下换行的问题。
  17. WWDC15 iOS游戏开发3个新框架全解
  18. 清华大学邓俊辉《数据结构(C++语言版)第3版》随书资源
  19. 收集的签名档的好去处
  20. opc客户端读取数据品质是bad_OPC DCOM配置过程中常见问题及其处理_济南达索机电科技有限公司...

热门文章

  1. 大三末之初级前端面试(二)
  2. Javascript 构造函数深入理解
  3. 左手朱之文右手祁隆徐春文题字《爱的期限》看出这个谷传民不简单
  4. 学习使用 C API 调用 ImageMagick
  5. excel关联规则算法_Excel名称有哪些规则?
  6. WhatsApp群发实战分享——WhatsApp Business API账号
  7. HTML5+CSS3盒布局
  8. Python一看就懂系列(二)
  9. 基于HTML的健身房信息管理系统
  10. Kubernetes中Pods的详细介绍