学习笔记-----Material design

[210308更新!]持续更新的Android & Android Jetpack & Material Design & Material Design Component(MDC)入门学习笔记 这是我第一次写有关Android的文章,甚至是第一篇有关编程的文章,所以我打算将这个文章作为持续更新的文章,算是学习笔记吧。希望我的文章能给屏幕前的你有所帮助。你可以选择耐心的全部看完,或者点击目录看你想看到的章节。无论是哪种,各位可以选择收藏这篇文章,我应该会持续更新的。 目录写在前面相关资料写代码得有个好习惯等等,Java?Kotlin?从最基础的布局开始:ConstraintLayout 1.0必须使用的绑定组件工具:ViewBinding最强大的列表控件:RecyclerView现代化的设计模式:M 阅读详情
  1. Material design是最重视跨平台体验的一套设计语言。
  2. Material design中,最重要的信息载体就是魔法纸片。纸片层叠、合并、分离,拥有现实中的厚度、惯性和反馈,同时拥有液体的一些特性,能够自由伸展变形。
  3. Material design重视动画效果,它反复强调一点:动画不只是装饰,它有含义,能表达元素、界面之间的关系,具备功能上的作用。
  4. 动画效果:
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  5. 颜色
    1. 颜色不宜过多。选取一种主色、一种辅助色(非必需),在此基础上进行明度、饱和度变化,构成配色方案。
    2. Appbar背景使用主色,状态栏背景使用深一级的主色或20%透明度的纯黑。
    3. 小面积需要高亮显示的地方使用辅助色。其余颜色通过纯黑#000000与纯白#ffffff的透明度变化来展现(包括图标和分隔线),而且透明度限定了几个值。
    4. 黑色:[87% 普通文字] [54% 减淡文字] [26% 禁用状态/提示文字] [12% 分隔线]
      白色:[100% 普通文字] [70% 减淡文字] [30% 禁用状态/提示文字] [12% 分隔线]
      在这里插入图片描述在这里插入图片描述
  6. 文字排版
    1. 12sp 小字提示
    2. 14sp(桌面端13sp) 正文/按钮文字
    3. 16sp(桌面端15sp) 小标题
    4. 20sp Appbar文字
    5. 24sp 大标题
    6. 34sp/45sp/56sp/112sp 超大号文字
    7. 长篇幅正文,每行建议60字符(英文)左右
    8. 短文本,建议每行30字符(英文)左右短文本,建议每行30字符(英文)左右
  7. 布局
    1. 最小点击区域尺寸:48dp X 48dp。
    2. 栅格系统的最小单位是8dp,一切距离、尺寸都应该是8dp的整数倍。
    3. 许多尺寸可变的控件,比如对话框、菜单等,宽度都可以按56的整数倍来设计。
  8. 组件
    1. Bottom sheets:通常以列表形式出现,支持上下滚动。也可以是网格式的。
    2. Bottoms:
      1. 悬浮按钮:最重要且随处用到的操作,建议使用。
        1. 使用悬浮按钮要遵循以下规则:
          1. 建议只用一个悬浮按钮。
          2. 悬浮按钮可以贴在纸片边缘或者接缝处,但不要贴在对话框、侧边抽屉和菜单的边缘。
          3. 悬浮按钮不能被其他元素盖住,也不能挡住其他按钮。
          4. 列表滚动至底部时,悬浮按钮应该隐藏,防止它挡住列表项。
          5. 悬浮按钮的位置不能随意摆放,可以贴着左右两边的对齐基线。
        2. 悬浮按钮通常触发正向的操作,添加、创建、收藏之类。不能触发负面、破坏性或不重要的操作,也不应该有数字角标。
        3. 悬浮按钮有两种尺寸:56x56dp/40x40dp。
      2. 凸起按钮:信息较多时,可以有效突出重要操作,但注意纸片不要叠太多层。
      3. 扁平按钮: 适合用在简单的界面,例如对话框中。
    3. Cards:
      1. 卡片统一带有2dp的圆角。
        在这里插入图片描述
      2. 在以下情况考虑使用卡片:
        1. 同时展现多种不同内容。
        2. 卡片内容之间不需要进行比较。
        3. 包含了长度不确定的内容,比如评论。
        4. 包含丰富的内容与操作项,比如赞、滚动条、评论。
        5. 本该是列表,但文字超过3行。
        6. 本该是网格,但需要展现更多文字。
      3. 卡片最多有两块操作区域。辅助操作区至多包含两个操作项,更多操作需要使用下拉菜单。其余部分都是主操作区。
    4. Chips:一种小块的用来呈现复杂实体的块,比如说日历的事件或联系人。它可以包含一张图片,一个短字符串(必要时可能被截取的字符串),或者是其它的一些与实体对象有关的简洁的信息。可以通过托拽或通过按压来触发悬浮卡片(或者是全屏视图)中的Chip对应实体的视图,或者是弹出与Chip实体相关的操作菜单(狭小空间内表现复杂信息的一个组件,比如日期、联系人选择器。)。
      在这里插入图片描述在这里插入图片描述
    5. Dialogs:
      1. 对话框包含标题、内容和操作项。点击对话框外的区域,不会关闭对话框。
      2. 通常情况,避免出现滚动条。空间不足时允许滚动,滚动条建议默认显示。通常情况,避免出现滚动条。空间不足时允许滚动,滚动条建议默认显示。
      3. 对话框的四周留白比较大,通常是24dp。
      4. 不带操作项的简易对话框,点击列表内容触发相应操作,并关闭对话框。点击简易对话框外面,对话框会关闭,操作取消。
      5. 可以是全屏式的,全屏对话框上方可以再层叠对话框(除此不可):可以是诸如保存、发送、添加、分享、更新、创建之类的操作。
    6. Dividers:主要用于管理和分隔列表和页面布局内的内容,以便让内容生成更好的视觉效果及空间感。
      在这里插入图片描述 在这里插入图片描述
    7. Grids:
      在这里插入图片描述
    8. Lists:
      1. 如果列表项内容文字超过3行,卡片合适。如果列表项的主要区别在于图片,网格合适。
      2. 在同一个列表中,滑动手势操作保持一致。
        在这里插入图片描述
    9. Menus:
      1. 每一个菜单项是一个离散的选项或者动作,并且能够影响到应用、视图或者视图中选中的按钮。
      2. 菜单不应该用作应用中主要的导航方法。
        在这里插入图片描述
      3. 菜单可以是级联的。
        在这里插入图片描述
    10. Pickers:
      在这里插入图片描述在这里插入图片描述
    11. Progress:
      1. 线形进度条只出现在纸片的边缘。
        在这里插入图片描述
      2. 环形进度条也分时间已知和时间未知两种。
        在这里插入图片描述
      3. 环形进度条可以用在悬浮按钮上。
        在这里插入图片描述
      4. 加载详细信息时,也可以使用进度条。
        在这里插入图片描述
      5. 下拉刷新的动画比较特殊,列表不动,出现一张带有环形进度条的纸片。
        在这里插入图片描述
    12. Sliders:让我们通过在连续或间断的区间内滑动锚点来选择一个合适的数值。
      1. 连续滑块:在不要求精准、以主观感觉为主的设置中使用连续滑块,让使用者做出更有意义的调整。
        在这里插入图片描述
      2. 间续滑块:间续滑块会恰好咬合到在滑动条上平均分布的间续标记(tick mark)上。在要求精准、以客观设定为主的设置项中使用间续滑块,让使用者做出更有意义的调整。应当对每个间续标记(tick mark)设定一定的等级区间进行分割,使得其调整效果对于使用者来说显而易见。这些生成区间的值应当是预先设定好的,使用者不可对其进行编辑。
        在这里插入图片描述
      3. 带有可编辑数值的滑块。
        在这里插入图片描述
    13. Snackbars :
      1. Snackbars至多包含一个操作项,不能包含图标。不能出现一个以上的Snackbars。
      2. Snackbars在移动设备上,出现在底部。在PC上,应该悬浮在屏幕左下角。
      3. Snackbars不能遮挡住悬浮按钮,悬浮按钮要上移让出位置。
        在这里插入图片描述
    14. Subheaders:
      1. 副标题是特殊的列表区块,它描绘出一个列表或是网格的不同部分,通常与当前的筛选条件或排序条件相关。
      2. 在滚动的过程中,副标题一直固定在屏幕的顶部,除非屏幕切换或被其他副标题替换。
        在这里插入图片描述
    15. Switches:
      1. 必须所有选项保持可见时,才用Radio button。不然可以使用下拉菜单,节省空间。
        在这里插入图片描述
      2. 在同一个列表中有多项开关,建议使用Checkbox。
        在这里插入图片描述
      3. 单个开关项建议使用Switch。
        在这里插入图片描述
    16. Tabs:
      1. 只用来展现不同类型的内容,不能当导航菜单使用。tab至少2项,至多6项。
      2. 超出6项,tab需要变为滚动式,左右翻页。
        在这里插入图片描述
    17. Text fields:
      1. 可以让用户输入文本。它们可以是单行的,带或不带滚动条,也可以是多行的,并且带有一个图标。点击文本框后显示光标,并自动显示键盘。除了输入,文本框可以进行其他任务操作,如文本选择(剪切,复制,粘贴)以及数据的自动查找功能。
      2. 可以有不同的输入类型。输入类型决定文本框内允许输入什么样的字符,有的可能会提示虚拟键盘并调整其布局来显示最常用的字符。常见的类型包括数字,文本,电子邮件地址,电话号码,个人姓名,用户名,URL,街道地址,信用卡号码,PIN码,以及搜索查询。
        在这里插入图片描述
    18. Tooltips:
      1. 提示只用在小图标上,文字不需要提示。鼠标悬停、获得焦点、手指长按都可以触发提示。
      2. 提示不能包含富文本,不需要三角箭头。
        在这里插入图片描述
    19. Navigation Drawer:
      1. 代替SlidingMenu。
      2. 侧边抽屉从左侧滑出,占据整个屏幕高度,遵循普通列表的布局规则。手机端的侧边抽屉距离屏幕右侧56dp。
        在这里插入图片描述
      3. 侧边抽屉支持滚动。如果内容过长,设置和帮助反馈可以固定在底部。抽屉收起时,会保留之前的滚动位置。
        在这里插入图片描述

参考资料:
Material Design 中文版
【转】android MD设计
Material Design——控件大汇总(一)
Material Design系列教程

深入掌握英飞凌TriCore中断向量表 摘要:本文探讨了英飞凌Tc277芯片中断机制的原理与实现,重点解析了中断向量表基地址的链接文件定义方式、BIV寄存器的初始化过程以及每个中断条目的32字节空间分配规则。通过分析中断向量号(1-255)的计算方法,阐明了中断条目跳转地址(如STM0中断向量号37对应0x800F04A0)的生成逻辑。文章还揭示了.map文件中14字节跳转指令的组成原理,以及最终通过a14寄存器跳转到实际中断函数(如stm0Sr0ISR)的执行流程,为嵌入式开发人员理解中断处理机制提供了清晰的技术路径。 阅读详情

相关推荐

脆弱的冗余:链路聚合(LACP)中单条链路故障引发的网络震荡

show etherchannel summary# 查看聚合组中所有端口的标志位,健康状态应为 ‘P’ (Port-channel) 或 ‘SU’(Stand-up)。本次故障的核心教训是:网络系统对“部分故障”的容忍度和自愈能力,远比应对“完全故障”要重要和复杂得多。3.加强监控:部署网管系统,监控聚合端口的包错误计数、LACP状态变化频率,并设置阈值告警。标签: #链路聚合 #LACP故障 #网络冗余 #排障案例 #网络高可用性。修复链路:更换光模块、清洁光纤接口、检查物理线路。

danyth的博客 1983

透明度

设置背景透明度

一名小安卓的博客 470

解读文献(五)------基于阻抗控制

文章目录背景主动柔顺控制阻抗控制基于力的阻抗控制基于位置的阻抗控制力位混合控制 背景 主动柔顺控制 阻抗控制 基于力的阻抗控制 基于位置的阻抗控制 力位混合控制 ...

accumulation 1万+

Material Design 进阶(十一)——Chip,ChipGroup,ChipDrawable使用

Chip 可以被放置在 ChipGroup 中,以实现流式布局。该组件合 RadioGroup 很相似,都是用来管理多个子 View 的,可以控制内部子 View 的布局方式。Chip 没有像其他组件一样具有 4 个参数的构造函数,因为它扩展了不支持 4 参数构造函数的 AppCompatCheckbox。但是你可以使用不同的方式。通过xml添加比较简单就不再阐述。重点关注下动态添加,可以为以后做复杂的布局效果做铺垫;

小欣儿的专栏 3049

VS2022跨平台开发实战:SSH远程调试Linux程序全攻略

本文详细介绍了如何使用Visual Studio 2022进行跨平台开发,通过SSH协议远程调试部署在Linux服务器上的C/C++程序。文章提供了从环境搭建、连接配置、项目创建到编译调试的完整实战指南,帮助Windows开发者无缝衔接Linux环境,显著提升问题定位与开发效率。

weixin_28826521的博客 430

FreeRTOS实战:STM32CubeMX配置USART+DMA实现高效串口通信(附完整代码)

本文详细介绍了如何使用FreeRTOS和STM32CubeMX配置USART与DMA实现高效串口通信。通过对比轮询、中断和DMA三种模式的性能差异,提供完整的STM32CubeMX配置步骤和代码实现,帮助开发者优化嵌入式系统的串口通信性能,显著提升数据吞吐量和系统响应速度。

weixin_29190169的博客 456

16进制颜色透明度计算方法

在安卓软件开发时老是会遇到取一定透明度的颜色,这个其实可以计算的。 安卓系统里颜色一般用6位16进制表示,如#ffffff,全为f,说明是各种颜色的组合,是白色。#000000是什么颜色都没有,那就是黑色。 加上透明度,则再加2位16进制如:#00ffffff,共8位16进制的数字。前两位:00表示完全透明,ff表示完全不透明。其余的则根据不透明度的百分比来计算。 如白色,不透明

Alex老夫子的专栏 7201

使用Google Earth Engine下载JRC全球水体数据

通过Google Earth Engine平台和提供的源代码,研究人员和水资源管理者可以方便地获取和利用这一重要的水资源监测数据集,从而开展相关的研究和决策支持工作。要使用Google Earth Engine下载JRC全球水体数据,首先需要在Google Earth Engine平台上进行注册和登录。JRC全球水体数据是由欧洲联合研究中心开发的高分辨率全球水体分类数据集,覆盖了整个地球的陆地和水域。下载完成后,你可以使用各种遥感数据处理软件来打开和分析这些数据,以满足不同的研究和应用需求。

LrlDebug的博客 1158

[Android Material Design]组件11 - Chip

Material Design控件ChipGroup,Chip的使用

yurensan的博客 1195

FPGA学习笔记(一)入门背景、软件及时钟约束的概念及程序下载与固化

使用正点原子的PFPGA开拓者V2学习,通过b站上正点原子的手把手教你学FPGA-基于开拓者V2学习。

贾saisai的博客 3280

【连接器专题】 EIA-364 系列标准的完整列表

EIA-364 系列标准在电子工业中具有重要的地位,为电子连接器和互连系统的测试和验证提供了统一的、可操作的流程和方法,有助于提高电子产品的质量和可靠性,促进了电子工业的发展

一点硬件 2660

Android Material Design之Chip, ChipGroup(十二)

Chip ,ChipGroup 流式标签

csdn_yang123的博客 1293

Cadence PCB 仿真宝典【目录】

欢迎大家来到《Cadence PCB 仿真宝典》该专栏包括【入门篇】【提升篇】【技巧篇】【疑难篇】四个部分,以供大家参考。大家直接点击大纲中的蓝色标题即可轻松传送。

fydar的博客 3269

material design学习笔记

简要介绍android lollipop在14年的i/o大会推出,material design随之而来。按照官方设计规范,material design的目标被定义为 “Create a visual language that synthesizes classic principles of good >design with the innovation and possibility

fjnu_se的博客 365

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

重磅教程!帮你全面彻底搞定MATERIAL DESIGN的学习笔记

重磅教程!帮你全面彻底搞定MATERIAL DESIGN的学习笔记 编者按:这一年就快完了,你还没搞懂Material design吗?是嫌文档太长,还是觉得自己英文不好?都没关系,我们善良热情的@十萬個為什麽  帮同学们通读了一遍官方的设计指南,去糙取精,整理出这篇干货超多的学习笔记,打包票学完基本就掌握90%了,别错过咯! 自从Material design发布以来,可乐橙

源码分享的博客 2995

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Android学习笔记:Material Design

Material Design于2014年的Google I/O 大会上推出,是由谷歌的设计工程师们基于传统优秀的设计原则,结合丰富的创意和科学技术所发明的一套全新的界面设计语言。在2015年的Google I/O 大会上推出了一个Design Support库,这个库将Material Design中最具代表性的一些控件和效果进行了封装,使得开发者在即使不了解Material Design的情况...

浩比的专栏 708

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Material design的学习笔记

编者按:这一年就快完了,你还没搞懂Material design吗?是嫌文档太长,还是觉得自己英文不好?都没关系,我们善良热情的@十萬個為什麽  帮同学们通读了一遍官方的设计指南,去糙取精,整理出这篇干货超多的学习笔记,打包票学完基本就掌握90%了,别错过咯! 自从Material design发布以来,可乐橙就在一直收集相关素材与资源,研究别人的作品。这套设计风格非常鲜明,带有浓郁的Googl

m2jjl的专栏 1616

Android Material Design学习笔记

Android Material Design学习笔记Android Material Design: (第一天) 一、Material Design新的特性 1、物理特性(高度、厚度) 2、阴影效果,增加了实体感 3、动画接近于现实中的动作(水波效果、转场特效等) 二、应用场景(都能用来做什么) 1、Android中各种地方均可应用(Activity切换特效、沉浸式动画效果、Rec

沐雨清风 688

MATERIAL DESIGN的学习笔记

UI艺术设计典范

a31081314的博客 1277

MATERIAL DESIGN学习笔记

一、核心思想 ,aterial design的核心思想,就是把物理世界的体验带进屏幕。去掉现实中的杂质和随机性,保留其最原始纯净的形态、空间关系、变化与过渡,配合虚拟世界的灵活特性,还原最贴近真实的体验,达到简洁与直观的效果。 Material design是最重视跨平台体验的一套设计语言。由于规范严格细致,保证它在各个平台使用体验高度一致。不过目前还只有Google自家的服务这么做,毕竟...

weixin_33798152的博客 200

帮你全面彻底搞定MATERIAL DESIGN的学习笔记

自从Material design发布以来,可乐橙就在一直收集相关素材与资源,研究别人的作品。这套设计风格非常鲜明,带有浓郁的Google式严谨和理性哲学,深得我心。实际上,光是研究素材和别人作品,就能发现一些明显的规律,做出几分相似的设计。这样半吊子的状态一直保持到现在,最近有时间通读一遍官方的设计指南,终于有了深入的理解。在朋友的项目(http://lydiabox.com)中实践了一番,虽然

yb752180442的博客 2371

Android--material design学习笔记

material design学习笔记 图多,耗费流量7.6MB,请在WIFI下打开 自从material design发布以来,可乐橙就在一直收集相关素材与资源,研究别人的作品。这套设计风格非常鲜明,带有浓郁的Google式严谨和理性哲学,深得我心。实际上,光是研究素材和别人作品,就能发现一些明显的规律,做出几分相似的设计。这样半吊子的状态一直保持到现在,最近有时间通读一

Navan 855

Material Design学习笔记

Material Design学习笔记

coding 443
上一篇: 学习笔记-----greenDAO3
下一篇: 获取release版本的SHA1值
zxdynamite
博客等级 码龄11年 25粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值