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

e802ebccc26bdafc74d3e3cdf8ea9e82.png

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

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

指南概览(TL:DR):

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

布局的关键概念

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

应用工作空间

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

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

015529c1dd1a17882199946387fcc0a4.gif
各种应用程序工作空间的示例

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

屏幕尺寸

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

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

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

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

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

宽度类别

7a4f94de59f93b590f6e3828953f934f.png

高度类别

114d2770bc3ceeaafab5b760ffbeb15b.png

间距

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

间距有两种:

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

填充

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

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

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

a1fde2271628b46214a1b4cf97d969aa.png

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

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

Keylines

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

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

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

df12df3bbe14236681745d395e3501eb.png

扩展策略

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

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

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

示例1:最小化控制栏

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

4064d7c442e7a38a6ea269bd0b663832.png
最小化控制条规格

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

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

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

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

4d55ac8d3748440b7a7eab0dc99ac939.gif
最小化控制条动画

示例2:网格

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

782793fbb12eb8b8e925707d80a1373a.png
网格自适应规范

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

10a1fce1eec2f8af92d3da8019dcd0ea.gif
网格自适应动画

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

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

来源:google

- 服务内容 -

151dcbc3f4bdeafa7ce8f771b267fba7.png

1d35e84cf75fc30dc02c2efd3f40f5a4.png

725a38cdbc55e12d47d37bc309fe574d.png

7a3fd1258837eec3eba5199536c62d5b.png

f845ae5e64782a23c8939cb4068175b0.png

4937fca893fd51b30278b9081969b853.png

20a21957ec49cb56de1c64f66e2d180b.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/279326.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ios 禁用滑动手势_如何禁用笔记本电脑上的Windows 8滑动手势?

ios 禁用滑动手势If you’re not a fan of the touchpad-based swipe gestures in Windows 8 there is a way to completely disable them and reclaim your touchpad. 如果您不喜欢Windows 8中基于触摸板的滑动手势,可以使用一种方法来完全禁用它们并收回您的触摸板…

Java快速入门-01-基础篇

Java快速入门-01-基础篇 如果基础不好或者想学的很细,请参看:菜鸟教程-JAVA本笔记适合快速学习,文章后面也会包含一些常见面试问题,记住快捷键操作,一些内容我就不转载了,直接附上链接,嘻嘻开发…

Excel导入MS SQL SERVER 操作

关于Excel导入到sql操作的相关问题总结: 一、大批量数据导入 方法1、从Excel大批量数据导入时我们可以使用sql里面有一个batch copy的功能 方法2、在sql中建一个table type结构,在前端将excel读到datatable中,把整个datatable作为存储过程参数…

苹果mac闪退_自从Mac有了WPS,从此和双系统说再见!

薛岗13,712本文共计2266个字,预计阅读时长需要6分钟。大部分使用Macbook的用户都有一个痛点,就是编辑好的office文件,在朋友或同事的windows电脑上展示效果与自己的会有差异。除此外,卡顿、闪退、数据丢失等也是Windows版office在…

初学者计算机_初学者极客:如何在计算机上重新安装Windows

初学者计算机Reinstalling Windows is one of the easiest ways to fix software problems on your computer, whether it’s running slow or infected by viruses. You should also reinstall Windows before you get rid of an old PC. 重新安装Windows是修复计算机上软件问…

win7 32位 安装opencv-python后,运行时提示 from .cv2 import *: DLL load failed: 找不到指定的模块 的解决办法...

安装opencv后,运行一个测试程序提示"from .cv2 import *: DLL load failed: 找不到指定的模块"。于是百度一下解决办法,结果试了N多方法后也没能解决这个问题。 最后不得不耐心的下载了dependency walker来查看opencv到底是缺少了哪个dll文件。…

goahead处理json_GoAhead Web Server远程代码执行漏洞分析(附PoC)

*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。本文是关于GoAhead web server远程代码执行漏洞(CVE-2017-17562)的分析,该漏洞源于在初始化CGI脚本环境时使…

项目中的模块剥离成项目_使用MCEBuddy 2从电视录制中剥离广告

项目中的模块剥离成项目One of the great things about time-shifting your television viewing is that you are able to watch the shows you love at a time that suits you. Just because you have an appointment on Wednesday evening there’s no need to miss out on y…

有上下界限制可行流

无源汇有上下界限制可行流(循环流) 即每条边的流量限制为[L,R],判断有没有满足整个网络的可行流。 看看以前学的网络流,实际上它的流量限制为[0,C],现在无非多了一个下限的限制。 网络流的一个重要性质:除了…

.gitignore文件将已经纳入版本管理的文件删除

git rm -r --cached . git add . git commit -m update .gitignore git push -u origin master 先将本地缓存删除,再提交,.gitignore文件只针对那些没有被staged的文件有效 参考博客:https://www.cnblogs.com/kevingrace/p/5690241.html 转载…

gmail收件箱标签设置_通过在Gmail中启用实验室功能来启动收件箱

gmail收件箱标签设置We recently looked at how you can make it easier to manage multiple inboxes in Gmail using the Multiple Inboxes Lab feature. This is a non-standard feature and it’s far from being the only one available to you. In fact there are numerou…

linux rmp命令安装包在哪里_rpm命令_Linux rpm 命令用法详解:RPM软件包的管理工具...

rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级&#xf…

【题解】洛谷P1066 [NOIP2006TG] 2^k进制数(复杂高精+组合推导)

洛谷P1066:https://www.luogu.org/problemnew/show/P1066 思路 挺难的一道题 也很复杂 满足题目要求的种数是两类组合数之和 r的最多位数m为 w/k(当w mod k0 时)w/k1(当 w mod k1 时)First: 位数为2~m的种数 即从2k-1中…

cmd命令不识别exp_Cmder-超量级的Cmd

Windows命令行工具cmd缺点窗口size不能便捷缩放复制文本,不能直接用鼠标拷贝,还需要多一道菜单操作;而且,还只能块状拷贝,而不是按行字符,极其不便不支持多Tab页,多窗口管理不便cmd界面丑陋&…

sizeof string

char a[] "hello"; string s "hello"; cout<<sizeof(a)<<endl; cout<<sizeof(s)<<endl; cout<<sizeof(s.c_str())<<endl;输出为 6 32 4最后一个c_str返回的是char*,所有指针的长度都为4。sizeof(s)为什么为32&#…

iTOP-4412开发板实现3路ADC数模转换驱动例程

学习下 linux 数模程序驱动的编写&#xff0c;本节我们实现的功能是实现三路ADC 数模转换。驱动程序驱动程序的名字&#xff1a;“itop4412_adc.c”。要想把这个驱动注册到内核,先把这个驱动程序放到内核的“driver/char”目录下面&#xff0c;如下图所示&#xff1a; Makefile…

β射线与哪些物质可产生较高的韧致辐射_辐射无所不在,香蕉土豆里都有?我们还能愉快生活吗?...

作为一枚受过系统科学教育&#xff0c;耳聪目明的当代年轻人&#xff0c;你是不是隔三差五被长辈亲友群里各种“XX有放射性&#xff0c;赶紧远离&#xff01;”的科学谣言搞得哭笑不得&#xff1f;又或者&#xff0c;稍一不注意&#xff0c;长辈亲友就买回了各种号称黑科技满满…

requests保存图片

1.创建07_save_jpg.py文件 import requests#发送请求respone requests.get("https://www.baidu.com/img/bd_logo1.png?wheresuper")#保存with open("a.png","wb")as f: f.write(respone.content)2.运行代码 转载于:https://www.cnblogs.com…

在Linux上运行Windows软件的4种以上方法

Linux has come a long way, but you may still need to run Windows applications occasionally – especially Windows-only PC games. Luckily, there are quite a few ways to run Windows applications on Linux. Linux已经走了很长一段路&#xff0c;但是您可能仍然偶尔需…

Spring-IOC XML 配置多个相同 ID 的 bean 加载分析

我们现在仍以 xml 中配置 bean 的方式来 使用 Spring &#xff0c;不考虑注解和扫包 配置相同id 的bean 定义一个 bean 类 TransactionManager /*** author maple 2018.09.10 下午10:27*/ public class TransactionManager {private static int counter 0;private String bean…