第二十五章:页面变化(一)

简介: 如果您将Xamarin.Forms应用程序视为建筑物,那么您可以使用视图和元素形式的砖块构建此建筑物。 您可以使用布局类将它们排列到墙中,然后使用ContentPage将它们组织到房间中,通过围绕NavigationPage构建的导航功能,可以实现从一个房间到另一个房间的通道。

如果您将Xamarin.Forms应用程序视为建筑物,那么您可以使用视图和元素形式的砖块构建此建筑物。 您可以使用布局类将它们排列到墙中,然后使用ContentPage将它们组织到房间中,通过围绕NavigationPage构建的导航功能,可以实现从一个房间到另一个房间的通道。
使用派生自Page的其他可实例化类可以增强这种可视化架构。 这是完整的层次结构:

Page
    TemplatedPage
        ContentPage
    NavigationPage
    MasterDetailPage
    MultiPage<T>
        TabbedPage
        CarouselPage

本章专门介绍这些额外的页面衍生词,它们的相似之处在于它们作为父项来管理两个或多个其他页面的可视化表示:

  • MasterDetailPage管理两个页面:master通常是数据集合或项目列表,详细信息通常显示集合中的特定项目。
  • TabbedPage由选项卡标识的多个子页面组成。您可以使用一组离散页面填充TabbedPage,或者基于数据集合自动生成选项卡和页面,其方式与ListView基于数据集合生成项目的方式非常相似。使用第二个选项,每个选项卡都与集合的成员相关联,使用模板格式化,但此选项不适用于iOS平台。
    CarouselPage计划弃用以支持即将发布的CarouselView,因此本章不再讨论。 MultiPage 是抽象的,不能自己实例化,但它定义了TabbedPage的大多数属性和事件。

大师和细节

MasterDetailPage定义了两个属性,名为Master和Detail类型。 通常,您将这两个属性设置为ContentPage类型的对象,但是目前,要使MasterDetailPage在通用Windows平台上工作,详细信息页面必须是NavigationPage。
MasterDetailPage如何在这两个页面之间显示和切换取决于几个因素:底层操作系统,无论是在手机还是平板电脑上运行程序,设备的纵向或横向,以及MasterDetailPage属性的设置名为MasterBehavior。有几种行为是可能的:

  • 拆分:主页面和详细页面并排显示,左侧为主页面,右侧为详细信息。
  • popover:详细信息页面设置动画以覆盖或部分覆盖母版页。有三种可能性:
    o slide:详细信息和母版页来回滑动。
    o重叠:详细页面部分覆盖母版页。
    o swap:详细信息页面完全遮盖了母版页。
    理论上,MasterDetailPage的MasterBehavior属性允许您在分割和弹出行为之间进行选择。您将此属性设置为MasterBehavior枚举的五个成员之一:
  • Default
  • Split
  • SplitOnLandscape
  • SplitOnPortrait
  • Bopover

但是,正如您将看到的那样,MasterBehavior属性的设置对于在手机上运行的应用程序没有任何影响。它仅影响在平板电脑或桌面上运行的应用程序。电话总是表现出弹出行为。此行为是导致幻灯片,重叠还是交换取决于平台。

目录
相关文章
|
2月前
|
前端开发
【前端web入门第五天】03 清除默认样式与外边距问题【附综合案例产品卡片与新闻列表】
本文档详细介绍了CSS中清除默认样式的方法,包括清除内外边距、列表项目符号等;探讨了外边距的合并与塌陷问题及其解决策略;讲解了行内元素垂直边距的处理技巧;并介绍了圆角与盒子阴影效果的实现方法。最后通过产品卡片和新闻列表两个综合案例,展示了所学知识的实际应用。
61 11
|
6月前
|
JSON 定位技术 API
HTML新特性【规划公交路线、规划步行路线、定位、自定义视角动画、账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置】(五)-全面详解(学习总结---从入门到深化)(下)
HTML新特性【规划公交路线、规划步行路线、定位、自定义视角动画、账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置】(五)-全面详解(学习总结---从入门到深化)
74 0
|
6月前
|
移动开发 JavaScript 前端开发
HTML新特性【规划公交路线、规划步行路线、定位、自定义视角动画、账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置】(五)-全面详解(学习总结---从入门到深化)(上)
HTML新特性【规划公交路线、规划步行路线、定位、自定义视角动画、账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置】(五)-全面详解(学习总结---从入门到深化)
108 0
|
存储 小程序 算法
【易售小程序项目】小程序首页完善(滑到底部数据翻页、回到顶端、基于回溯算法的两列数据高宽比平衡)【后端基于若依管理系统开发】
【易售小程序项目】小程序首页完善(滑到底部数据翻页、回到顶端、基于回溯算法的两列数据高宽比平衡)【后端基于若依管理系统开发】
98 0
|
存储 小程序 前端开发
【易售小程序项目】小程序私聊页面完善(带尾巴聊天气泡组件封装、滑至顶端获取历史聊天数据逻辑优化)【后端基于若依管理系统开发】
【易售小程序项目】小程序私聊页面完善(带尾巴聊天气泡组件封装、滑至顶端获取历史聊天数据逻辑优化)【后端基于若依管理系统开发】
65 0
|
前端开发 JavaScript 数据可视化
数据可视化大屏人员停留系统的开发实录(默认加载条件筛选、单击加载、自动刷新加载、异步加载数据)
数据可视化大屏人员停留系统的开发实录(默认加载条件筛选、单击加载、自动刷新加载、异步加载数据)
137 0
|
JavaScript 前端开发
jquery 展开收缩改变状态 保姆式教学代码,默认第二项展开
jquery 展开收缩改变状态 保姆式教学代码,默认第二项展开
|
前端开发
前端工作总结128-一级控制二级菜单的变化
前端工作总结128-一级控制二级菜单的变化
105 0
前端工作总结128-一级控制二级菜单的变化
|
前端开发
前端工作总结244-修改其他页面的时间逻辑
前端工作总结244-修改其他页面的时间逻辑
92 0
|
前端开发
前端工作总结130-首页样式调整第二次
前端工作总结130-首页样式调整第二次
82 0