本节提供了可在不同屏幕尺寸范围内缩放的屏幕布局的设计指南。

此处定义的padding和keyline值用于Components,Media规范、Notification Center规范和Dialer规范中。

指南概览(TL:DR):

  • 基于适当的屏幕尺寸类别的基本布局
  • 使用8dp网格进行对齐
  • 将边距宽度设置为应用程序工作空间的12%
  • 在页边距中放置滚动条和导航辅助工具
  • 对元素之间的固定间距使用填充

布局的关键概念

  • 应用程序工作空间:计算汽车厂商占用的屏幕空间和系统UI功能后,可用于应用的屏幕区域
  • 屏幕尺寸类别:4个屏幕宽度范围(标准、宽、超宽、超宽),3个屏幕高度范围(短、标准、高),其中“屏幕”指的是app工作空间,而不是从边框到边框的整个空间
  • 填充:一组间距值,用于指定布局中元素和组件之间的固定垂直和水平间距
  • 关键字:一组宽度可变的间距值——由宽度类别决定——指示布局中页边距或组件边与元素之间的水平间距
  • 弹性区域:组件的一部分,有时指定最小值或最大值,可缩放以适应屏幕大小

应用工作空间

应用程序的工作空间是指在考虑到汽车制造商和系统UI功能占用的屏幕空间之后剩余的可用屏幕区域。应用程序工作空间旨在包含左右边距和应用程序画布,这是应用程序的主要内容区域。

每个边距应等于应用程序工作空间宽度的12%。边距通常包含应用程序的滚动条和导航功能。

各种应用程序工作空间的示例

注意:为了在更小的屏幕尺寸下使用更宽的应用程序画布,可以省略乘客侧边距。

屏幕尺寸

参考规范布局基于应用程序工作空间的宽度和高度,被设置为一组屏幕尺寸类别。

在整个指南中的规格中,这些类别均按名称指代。例如,“宽”是指从930dp到1279dp的所有屏幕宽度。

屏幕大小类别影响的建议::

  • 组件和元素中的键线间距
  • 缩放元件柔性区域
  • 何时隐藏或显示可选元素,例如最小化控制栏上的专辑封面

注意:不同屏幕尺寸的参考布局有时可能会建议元素之间使用不同的填充值。

宽度类别

高度类别

间距

参考规范的布局是在8dp网格上构造的。在实践中,这意味着规范中的UI组件和元素之间的间隔是8dp的倍数。

间距有两种:

  • 填充,用于固定宽度和高度的间距
  • 关键线,用于可变宽度的间距

填充

填充可在参考规格布局中的组件之间建立固定宽度和固定高度的间距。它还可以规定组件内元素之间的固定间距,如在拨号板组件上的相邻数字目标之间的空间。通常,两个元素之间的关系越紧密,它们之间的填充越窄。

有9个填充值,指定为P0 – P8。

以下是填充值及其相应的大小:

注意:提供了4dp和12dp的填充大小,以更好地对齐较小组件中的元素。这些值应谨慎使用,因为它们不是8dp的倍数。如果需要较大的填充值(高于96dp),则可以使用与8dp网格对齐的自定义数字。

与根据屏幕宽度类别改变间距值的键不同,填充值保持不变,例如,P1始终为8dp。但是,在某些情况下,特定组件或元素集之间的距离在参考规格布局中针对不同的屏幕尺寸可能具有不同的填充值。例如,对于短屏幕、网格项之间的建议垂直间隔为P4,对于标准屏幕和高屏幕,建议为P5。

Keylines

Keylines不是指定参考规范中元素之间的填充,而是指定元素离组件的最近边距或边缘有多远。Keylines会根据屏幕宽度更改值。它们提供了一种方便的方式来将布局缩放到不同的屏幕尺寸,同时保持元素的比例,水平间距。

有5个关键点,分别指定为KL0至KL4。

以下是每个屏幕宽度的关键点值:

扩展策略

参考规格布局提供了将应用程序缩放到不同屏幕尺寸的指南。为了帮助顺利扩展,规格通常包括:

  • 伸缩区域,这是一个组件的一部分,汽车制造商应该扩大或收缩以适应他们特定的屏幕大小
  • 柔性区域的可选建议最小和最大宽度,旨在防止将组件缩放到不希望的尺寸
  • Keylines用于保持元素的比例水平间距,根据屏幕宽度类别的不同而缩放
  • 填充,用于指定组件和元素之间的固定间距

有些规范可以根据屏幕宽度指定是否隐藏或显示某些元素。

示例1:最小化控制栏

最小化的控制栏是一个组件的例子,参考规范的布局建议在更小的屏幕尺寸下弯曲组件的宽度并隐藏不必要的元素。

最小化控制条规格

最小化控制栏的规范包括2个缩放指南:

1.左边的方形元素(通常用于相册图片)应该只在屏幕宽度为930dp或更大时出现;

2.中间的可伸缩宽度部分绝对不能比440dp窄,只要整个组件的宽度不超过1028dp,就可以放大以适应更大的屏幕。

下面的动画显示了如何按照参考布局中的建议将最小化的控制栏缩放到更大或更窄的屏幕。

最小化控制条动画

示例2:网格

网格是可以在布局中的列和行中放置和调整大小的组件示例。

网格自适应规范

推荐的列数(在较窄的屏幕上为3,在较宽的屏幕上为4)取决于屏幕尺寸。只要网格不小于建议的最小宽度,就可以在屏幕类别中调整列宽和行高。下面的动画显示了如何按照参考布局中的建议将网格缩放到更大或更窄的屏幕。

网格自适应动画

文中部分图片来自网络,如侵权,请联系删除

想要了解汽车更多内容,就留言联系我们吧!

来源:google

- 服务内容 -

android页面布局 如何让中间的listview填充剩余部分_谷歌驾驶设计—界面设计布局...相关推荐

  1. android页面布局 如何让中间的listview填充剩余部分_不使用css3:flex怎么实现一些常见的移动端布局...

    在外企银行工作,开发的app是混合应用.说实话国外银行功能确实没有国内银行多,而且技术比较守旧,就在去年上半年,没错,2018年上半年,我们的app还必须兼容安卓4.4,并且测试还会旧设备去测,这让我 ...

  2. 第15.12节PyQt(Python+Qt)入门学习:可视化设计界面组件布局详解

    一.引言 在Qt Designer中,在左边部件栏的提供了界面布局相关部件,如图: 可以看到共包含有四种布局部件,分别是垂直布局(Vertical Layout).水平布局(Horizontal La ...

  3. 基于Android的计步器(Pedometer)的讲解(六)——ListView下拉刷新页面

    计步器(Pedometer)整个项目的源代码,最近做了比较大的修改,可能以前下载的不能运行,感兴趣的朋友可以下载来看看(记得帮小弟在github打个星~) https://github.com/296 ...

  4. Android 页面多状态布局管理

    一.现状 页面多状态布局是开发中常见的需求,即页面在不同状态需要显示不同的布局,实现的方式也比较多,最简单粗暴的方式就是在 XML 中先将不同状态对应的布局隐藏起来,根据需要改变其可见状态,如果多个界 ...

  5. android页面布局更改,使用setContentView的方式更换布局文件从而更换界面

    使用转换Activity的布局文件的方式,从而达到转换android页面的目的(这里没有使用Intent): 程序很简单,摆一个大概出来: package com.seed.lee.setConten ...

  6. Android基础入门教程——2.4.8 ListView Item多布局的实现

    Android基础入门教程--2.4.8 ListView Item多布局的实现 标签(空格分隔): Android基础入门教程 本节引言: 本节是ListView这个小节的最后一节,给大家带来的是L ...

  7. Android页面下拉列表的简单页面

    首先打开安卓的ADT软件 创建一个项目,取名为Day08 我们今天创建这样的一个Android页面 视图分析:该图是由6个线性布局<LinearLayout>(如下图六个红线框框),文本框 ...

  8. 【转】【Android】使用BaseAdapter实现复杂的ListView

    原文网址:http://blog.csdn.net/jueblog/article/details/11857281 使用BaseAdapter实现复杂的ListView的步骤: 1. 数据你要准备好 ...

  9. android listview 滑动条显示_第七十六回:Android中UI控件之RecyclerView基础

    各位看官们,大家好,上一回中咱们说的是Android中UI控件之ListView优化的例子,这一回咱们说的例子是UI控件之RecyclerView.闲话休提,言归正转.让我们一起Talk Androi ...

最新文章

  1. 【转】5个常用的深度学习框架
  2. zabbix应用之获取监控项的graph曲线图
  3. linux Ubuntu apache2 伪静态设置
  4. 背包类树形DP 选课题解
  5. rake -T 列出所有RAKE 命令.
  6. debian9 没有ipv4
  7. Jenkins修改管理员密码
  8. 一文带你掌握Redis操作指南
  9. Kotlin入门(19)Android的基础布局
  10. Atitit 我们的devops战略与规划 规范 推荐标准
  11. 【渝粤教育】国家开放大学2018年秋季 0676-22T物流成本管理 参考试题
  12. Python解释器【转载】
  13. linux能虚拟化windows,在Linux和Windows下查看CPU是否支持虚拟化的方法
  14. 1.C语言0基础自学-从第一行代码开始
  15. putty拷贝服务器文件,Windows下拷贝Linux的文件到本地(Putty)
  16. python3 sorted自定义排序的函数
  17. SCAU 正n多边形类的定义与使用
  18. 做程序员久了,你会不会感觉的空虚与迷茫?其实主要原因是这几点!
  19. EN 12101-8:2011烟雾和热量控制系统防烟挡板—CE认证
  20. 设计模式:访问者模式-vistor

热门文章

  1. JAVA输出x和y和z_JAVA实例:输入三个整数x,y,z,请把这三个数由小到大输出-吾爱编程网...
  2. 进程间通信IPC(二)(共享内存、信号、信号量)
  3. system函数和popen函数使用方法
  4. 视觉工程师面试指南_选择正确视觉效果的终极指南
  5. shell编程系列20--文本处理三剑客之awk常用选项
  6. 用VC和MinGW导出dll的def和lib(a)文件
  7. 复习.net/c#时的小文章之万年草稿版 (全是基础概念,请懂的人绕行)
  8. .NET 中的泛型 101
  9. 【数据结构】线性表(一):顺序列表
  10. 英特尔布局5G 提供端到端的解决方案