【Material Design视觉设计语言】章节列表

【Material Design视觉设计语言】开篇

【Material Design视觉设计语言】Material Design设计概述

【Material Design视觉设计语言】应用布局设计

【Material Design视觉设计语言】应用自适应布局

【Material Design视觉设计语言】应用样式设计

【Material Design视觉设计语言】应用动画设计

【Material Design视觉设计语言】UI组件设计(一):button

【Material Design视觉设计语言】UI组件设计(二):卡片

【Material Design视觉设计语言】UI组件设计(三):纸片

【Material Design视觉设计语言】UI组件设计(四):表格

【Material Design视觉设计语言】UI组件设计(五):提示框

【Material Design视觉设计语言】UI组件设计(六):分隔线

【Material Design视觉设计语言】UI组件设计(七):网格

【Material Design视觉设计语言】UI组件设计(八):列表

【Material Design视觉设计语言】UI组件设计(九):菜单

【Material Design视觉设计语言】UI组件设计(十):选择器

【Material Design视觉设计语言】UI组件设计(十一):进度条

【Material Design视觉设计语言】UI组件设计(十二):滑块

【Material Design视觉设计语言】UI组件设计(十三):Toast

【Material Design视觉设计语言】UI组件设计(十四):Tabs

【Material Design视觉设计语言】UI组件设计(十五):文本框

Material Design的布局设计旨在通过过使用同样的视觉元素,结构网格,和通用的行距规则,让应用不同平台与屏幕尺寸上拥有一致的外观和感觉。提供高度的熟悉感和舒适性的用户体验。

一 应用布局单位

1.1 像素密度

像素密度(即dpi)指的是每英寸的像素点数。

像素密度的计算公式例如以下所看到的:

dpi = 屏幕宽度(或高度)像素 / 屏幕宽度(或高度)英寸

高密度的屏幕比低密度的屏幕更像素更高。

因此用户界面元素(如button)在低密度屏幕上显示较大而在高密度屏幕上显示较小。

高密度屏幕

低密度屏幕

1.2 密度独立像素

密度独立像素(即dp)是一种基于屏幕密度的抽象单位。

密度独立像素能够在屏幕上用不同的密度来显示统一的元素。

在每英寸160像素点的显示器上:1 dp = 1 px,dp的计算公式例如以下所看到的:

dp = (宽度像素160)/ dpi

密度独立像素常常能够用来处理图像的缩放,通过这=合适的比例。图像能够缩放到不同的屏幕分辨率的屏幕上而且看起来效果都一样。相关比比例如以下所看到的:

举例

在320 dpi的分辨率一个200×200像素的图标为100 x 100dp

1.3 可扩展像素

可扩展像素(即sp)主要用来处理字体大小,能够依据用户字体大小首选项进行缩放。

讲完了布局中常见的尺寸单位。我们来看几个常见的组件尺寸。

最小的触摸目标尺寸是 48dp

在布局中,当为图标(24dp)或者头像(40dp)设置边距时。触摸目标不能重叠。

二 应用布局边距

关于边框与间距这一块。Google官方给出了手机、平台和电视等各大平台的布局模板,这些模板具体地描写叙述了边框与间距怎样应用于屏幕边界和元素。

Android手机设备布局模板

Android平板设备布局模板

Android桌面应用布局模板

手机作为最常常使用的移动设备。我们先来看几个关于手机布局边框与间距的处理的样例。很多其它内容能够參见上方列举的几个模板文件。

举例1

该布局演示图标、头像和一个 2 行文本的列表怎样左对齐,以及一个 56dp 的浮动动作button和文本怎样右对齐。

水平边距例如以下所看到的:

左右各有 16dp 的垂直边框。

带有图标或者头像的内容有72dp的左边距。

垂直边距例如以下所看到的:

  • ① 24dp
  • ② 56dp
  • ③ 48dp
  • ④ 72dp

举例2

该布局演示图标、头像、2 行文本列表、子标题和40dp的浮动动作button怎样左对齐。小图标右对齐。

水平边距例如以下所看到的:

图标(大小图标)有16dp的左右垂直边框。

带有图标或者头像的内容有 72dp 的左边距。

垂直边距例如以下所看到的:

  • ① 24dp
  • ② 56dp
  • ③ 72dp
  • ④ 48dp
  • ⑤ 8dp

举例3

该布局演示图标怎样左对齐。以及图标和一个56dp的浮动动作button怎样右对齐。

水平边距例如以下所看到的:

图标有16dp的左垂直边框。

带有图标或头像的内容有72dp的左边距。32dp 的右边距(考虑到 56dp 的圆形浮动动作button)。这样圆形浮动动作button下的图标也对齐了。

垂直边距例如以下所看到的:

  • ① 24dp
  • ② 56dp
  • ③ 8dp
  • ④ 72dp

举例3

该布局演示图标、头像和文本怎样左对齐。浮动动作button、图标和文本怎样右对齐。

水平边距例如以下所看到的:

图标有16dp的左右垂直边框。带有图标或头像的内容区域左对齐,距左边界72dp。

垂直边距例如以下所看到的:

  • ① 24dp
  • ② 56dp
  • ③ 48dp
  • ④ 8dp

举例4

该布局演示了側边导航菜单的宽度,以及图标、头像和文本怎样左对齐,小图标怎样右对齐。

水平间距例如以下所看到的:

图标距側边导航菜单的左右边界分别有 16dp 的垂直边框。

带有图标或者头像的内容距側边导航菜单的左边界 72dp。側边导航菜单的宽度等于屏幕的宽度减去动作条的高度。即在本例中距屏幕右側 56dp 的宽。

垂直间距例如以下所看到的:

  • ① 48dp
  • ③ 8dp
  • ③ 56dp

2.1 比率边框

比率边框应用于移动设备屏幕的宽度和移动设备、平板设备以及桌面应用程序中 UI 元素的宽度。

2.1.1 屏幕的宽度

举例

2.1.2 内容的宽度

举例

2.2 增量边框

增量边框定义了一个增量,比方动作条的高度,然后使用几倍于这个增量的数字来决定应用中其它元素的尺寸和位置。

增量边框大多数应用于桌面应用程序。有些也适用于平板设备,非常少应用在移动设备中。增量的数量会依据窗体的尺寸来改变。

三 布局结构

3.1 布局结构的关键要素

3.1.1 应用的启动页面

应用的启动页面是我们的应用为用户呈现的第一个内容,所谓先入为主。第一印象非常重要,在设计启动页面的时候,我们应该去考虑用户希望从我们的应用中看到什么,从而为用户做出积极的引导。

3.1.2 应用的呈现内容

内容是应用的核心。我们应该避免应用内容仅仅是简单的屏幕堆砌,让内容成为启动页面的中心,让用户能够第一时间被我应用的核心内容所吸引。

3.1.3 应用的操作体验

应用核心的操作能够通过导航实现。屏幕上方是摆放导航的最佳位置,另外,某些重要的有特色的操作能够通过悬浮button实现以凸显其重要性。

在设计应用操作时有哪些常常使用的设计手法呢?

内嵌导航适合于导航模型非常easy的情况,我们能够把应用的其它内容直接线性地放置到对应的导航栏选项上。

内嵌导航的适用情景例如以下所看到的:

  • 应​​用有一个风格强烈。鲜明的主要视图。而且没有或者非常少能够替代主视图的视图。

  • 在主要视图内,用户能够便捷地运行大部分常常使用的任务。
  • 潜在用户并不是常常使用你的应用。他们更喜欢直接的訪问路径。

标签栏导航适用于仅仅拥有少量功能区域,而且每个功能区域都是同等重要的情况。

标签栏导航的适用情景例如以下所看到的:

  • 应用的用户将会频繁切换这些视图。
  • 应用有数量有限的顶层视图。

  • 应用须要用户高度关注每个栏标的视图。

抽屉导航能够同一时候显示大量导航目标,它适用于管理复杂的操作设计。

抽屉导航的适用情景例如以下所看到的:

  • 应​​用拥有大量的顶层视图。
  • 没有相互联系的视图之间能够实现高速的交叉导航。

  • 应用有特别的深度导航的分支。而且希望可高速回到应用的顶层视图。

  • 想降低应用中的不常常訪问内容的可见性和用户的察觉性。

3.2 布局结构的实践方式

3.2.1 界面划分

定义主要的水平或垂直的切割线

不要把界面切割成太多的区域,产生L的形状(L shapes)。

相反,利用空白的地方勾勒出二级空间。

使用卡片和浮动操作button越界

当须要特定操作,又或者信息群须要更好的区分。而空白地方。或者切割线不能提供这样的区分,应该用卡片来组织起信息。

3.2.1 工具栏设计

工具栏具有多功能性,它能够被用在应用非常多地方。

以下举例说明一下工具栏能够被用在哪些地方。

举例1

全宽度,默认高度的工具栏。

举例2

全宽度,工具栏拉高,标题栏下移。

举例3

灵活的工具栏和卡片工具栏

举例4

浮动工具栏

举例5

分离的工具栏和调色板

举例6

放置于架(shelf)上而且附在软键盘或者其它底部元素顶部的底部工具栏

举例7

底部工具栏架

3.2.2 应用栏设计

应用栏是用来显示应用的标识。应用导航,内容搜索以及其它操作。

举例

以下的图标都是应用本身相关的操作。菜单图标(Menu Icon)打开的是一个溢出菜单。里面包含的菜单内容有帮助。设定和反馈等。

关于应用栏的风格设计

这样的应用栏通常能够设计成四种风格,例如以下所看到的:

浅色

深色

彩色

透明

关于应用栏的尺寸设计

应用栏的默认高度例如以下所看到的:

  • 手机横屏(Landscape): 48 dp
  • 手机竖屏(Portrait): 56 dp
  • 平板电脑/电脑桌面(Tablet/Desktop): 64 dp
  • 对于拉高了的选单。它的高度等于默认高度加上内容高度。

竖屏尺寸

横屏尺寸

3.2.4 菜单设计

菜单相似于暂时出现的一张纸,这张纸常常覆盖到应用栏(app bar)。而不是表现的像应用栏的拓展。

3.2.5 側面导航栏设计

导航抽屉(nav drawer)能够被固定一直显示或者暂时的浮动显示。

导航抽屉分为左边导航抽屉和右边导航抽屉两种:

  • 左边的导航栏的内容应该是主要是导航或者识别类型的。
  • 右边导航栏的内容应该主要是更深层次的信息,该页主要内容的次级信息。

暂时的导航抽屉能够覆盖内容画布。而固定的导航抽屉应该放置在内容画布的側边或者下方。

側面导航栏的尺寸设计

默认尺寸例如以下所看到的:

  • 手机:側边导航栏宽度 = 屏幕宽度 - 应用栏高度
  • 电脑桌面:左边选栏最大宽度为400 dp, 右側则按内容而定。

  • 电脑桌面或平板电脑:固定的,宽度与列对齐。

  • 浮动的最大宽度:304 dp

举例

手机设备

左边选栏的桌面电脑

右边选栏的桌面电脑

【Material Design视觉设计语言】应用布局设计的更多相关文章

  1. 【Material Design视觉设计语言】应用样式设计

    作者:郭孝星 微博:郭孝星的新浪微博 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells Github:https://github.co ...

  2. 【Material Design视觉设计语言】开篇

    作者:郭孝星 微博:郭孝星的新浪微博 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells Github:https://github.co ...

  3. Android开发实战之拥有Material Design风格的折叠布局

    关于折叠布局,也许你并不陌生,最新版的陌陌,或者一些其他的社交APP都有一个折叠布局.折叠布局,让我们的APP更加具有交互性,同时也更加美观,先来展示一下效果图: 这是我个人做的一个APP主界面,可以 ...

  4. Android开发实战之拥有Material Design风格的侧滑布局

    在实现开发要求中,有需要会使用抽屉式布局,类似于QQ5.0的侧滑菜单,实现的方式有很多种,可以自定义控件,也可以使用第三方开源库. 同样的谷歌也推出了自己的侧滑组件——DrawLayout,使用方式也 ...

  5. Material Design(原质化设计)视觉设计语言规范 踏得网镜像

    Android 5.0 Lollipop(棒棒糖,也就是之前的代称Android L)全面实践了谷歌最新研发的 Material Design 设计语言规范,只是该设计规范并不是仅针对移动平台. 我们 ...

  6. Android Material Design : Ripple Effect水波波纹荡漾的视觉交互设计

     Android Material Design : Ripple Effect水波波纹荡漾的视觉交互设计 Android Ripple Effect波纹荡漾效果,是Android Materia ...

  7. flutter学习之二Material Design设计规范

    前言: 最近在自学flutter跨平台开发,从学习的过程来看真心感觉不是那么一件特别容易的事.不但要了解语法规则, 还要知晓常用控件,和一些扩展性的外延知识,所以套一句古人的话“路漫漫其修远矣,无将上 ...

  8. Android5.0新特性——Material Design简介

    Material Design Material Design简介 Material Design是谷歌新的设计语言,谷歌希望寄由此来统一各种平台上的用户体验,Material Design的特点是干 ...

  9. Material Design 常用控件

    Material Design Material Design (原质化/材料化设计) 是在2014年Google I/O大会上推出的一套全新的界面设计语言. 意在解决Android平台界面风格不统一 ...

随机推荐

  1. unix简史及应用

    Unix 简史 1965年时,贝尔实验室(Bell Labs)加入一项由奇异电子(General Electric)和麻省理工学院(MIT)合作的计画:该计画要建立一套多使用者.多任务.多层次(mul ...

  2. B-树学习笔记

    转自:http://blog.csdn.net/acs713/article/details/6880375 B-tree(多路搜索树,并不是二叉的)是一种常见的数据结构.使用B-tree结构可以显著 ...

  3. Android RecyclerView (一) 使用完全解析

    转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45059587: 本文出自:[张鸿洋的博客] 概述 RecyclerView出现 ...

  4. [Android Studio] Android Studio使用教程(二)

    以下是本次Google I/O大会发布的IDE Android Studio使用教程第二篇: 在Android Studio使用教程(一)中简要介绍了Android Studio的基本使用,包括安装. ...

  5. wamp网站Forbidden You don't have permission to access

    Forbidden You don't have permission to access   问题原因:apache的2.4的版本中 Require all denied 应该变成Require a ...

  6. Visual Studio 2017各版本离线安装包获取以及安装教程

    系统:  windows 7旗舰版 前言: Visual Studio 2017版本与以往的2015.2013.2012版本不同,采用了新的模块化安装方法.微软官方也并未提供ISO镜像,作者根据官方提 ...

  7. 使用ssh向sqlserver2005数据库中保存image类型的二进制图片

    1.首先设计数据库表,其中photo.photo2字段均为image类型的. 2.建立实体bean对象,设置两个字段为byte[]如:private byte[] photo; private byt ...

  8. C++primer习题--第1章

    本文地址:http://www.cnblogs.com/archimedes/p/cpp-primer-chapter1-ans.html,转载请注明源地址. [习题 1.3] 编一个程序,在标准输出 ...

  9. 【python】gevent学习

    之前测试了stackless,感觉不太好. 不过python作为最火的脚本语言,还是吸引力难挡. python的协程方案,除了stackless,还有greenlet, 相应的事件框架也有gevent ...

  10. win10 当前操作环境不支持支付宝控件 完美解决办法

    第一步,修改系统配置 在运行中输入“gpedit.msc”打开本地组策略编辑器: 打运行窗口的方法是:按win键+R (按下win键再按R键之后 同时松开)  win键 即windows 的微标键 如 ...