[译]:Xamarin.Android用户界面——ViewPager

标签: Xamarin.Android, 官方教程, 中文翻译

博客分类: 官方教程

返回索引目录
原文链接:ViewPager
译文链接:Xamarin.Android用户界面——ViewPager

ViewPager

ViewPager是一个布局管理器,它让你可以实现手势导航。手势导航允许用户左右滑动来逐步浏览数据页。本指南解释了如何使用ViewPager来实现手势导航 —— 含有使用Fragment和不使用Fragment两种方式。此主题还将介绍如何使用PagerTitleStrip和PagerTabStrip来添加页面指示符。

概览

在应用开发中,一个很常见的场景是需要为用户提供手势导航(在同级的各个视图之间)。在本节中,将介绍如何让用户可以左右滑动来访问内容页面(例如,设置向导或幻灯片放映)。你可以通过Android Support Library v4类库提供的ViewPager部件来创建这些滑动视图。ViewPager是一个布局部件,它有多个子视图组成,其中每个子视图组成布局中的一个页面:

通常,ViewPager会和Fragment组合使用;但是,在某些情况下,你可能希望使用ViewPager时,不会增加Fragment的复杂性。关于Framgment内容见:原文:Fragments

ViewPager使用适配器模式来为其提供待显示的视图 。此处适配器的概念类似于RecyclerView中使用的适配器 —— 你可以通过实现PagerAdapter来生成页面,然后ViewPager会将它们显示给用户。ViewPager中显示的页面可以是View,也可以是Fragment。当显示View时,适配器会以Android的PagerAdapter为基类来实现子类。如果是显示Fragment,则适配器会以Android的FragmentPagerAdapter为基类来实现子类。Android支持类库中同样含有FragmentPagerAdapter(PagerAdapter的一个子类),并通过它来辅助Fragment连接到数据的详细信息。

本指南中将介绍两种方法:

环境要求

要在你的应用项目中使用ViewPager,你必须安装Android Support Library v4包。关于安装NuGet包的更多内容见:原文:Walkthrough: Including a NuGet in your project

架构

为了使用ViewPager实现手势导航,需要用到以下三个组件:

  • ViewPager
  • Adapter —— 适配器
  • Pager Indicator ——页面指示符

下面将会大概介绍这些组件。

ViewPager

ViewPager是一个布局管理器,它可以一次性显示一个视图集合 。它的作用是检测用户的滑动手势,并以此为用户导航到上一个或下一个视图。例如,下图展示了ViewPager响应用户手势时,从一个图像切换到下一个图像的效果:

适配器Adapter

ViewPager通过适配器来拉取数据。适配器的作用是依据需要为ViewPager创建待显示的视图。下图说明了此概念 —— 适配器创建并填充视图,然后将它们提供给ViewPager。当ViewPager检测到用户的滑动手势时,它会请求适配器提供 适当的视图以供显示:

在这个特定的示例中,每个视图都会在其被传递给ViewPager之前,用树图像和树名称进行组合。

页面指示符

ViewPager可以用于显示大型的数据集(如,一个图库 —— 可能包含数百张图片)。为了帮助用户导航大型数据集,ViewPager通常会有对应的页面指示符(显示字符串)。该字符串可能是图片标题,图片说明,或者仅仅是当前视图在数据集中的位置。

有两种视图可以为你生成此导航信息:PagerTabStrip和PagerTitleStrip。它们会在ViewPager的每个页面顶部显示一个字符串,而且它们的数据都是从ViewPager的适配器中提取数据,以此保证它始终与当前显示的View保持同步。它们之间的区别是PagerTabStrip包括一个标识符(指示当前所在的标识),而PagerTitleStrip不包含(如下图所示):

本指南演示了如何使用VIewPager、适配器和指示器这些应用组件,介绍了如何整合它们来支持手势导航 。


译:奇葩史

没有评论