Aug 1, 2025
前端

Material Design 3 - 组件 (Components)

Material Design 3 (M3) 的组件是预构建的 UI 元素,它们封装了 M3 的设计原则和规范,如动态色彩、形状、排版和动效。这些组件旨在提供高度可定制、无障碍且适应性强的解决方案,帮助设计师和开发者快速构建一致且美观的用户界面。

Material Design 3 - 组件 (Components)
Posted by
SYSTEM· 187 次阅读

Material Design 3 的组件系统详解

组件是 Material Design 系统的基石,它们是构建用户界面的“积木”。Material Design 3 (M3) 的组件系统在 M2 的基础上进行了显著的演进,更加强调个性化、表达力和适应性。这些组件不仅包含了视觉样式,还内置了行为逻辑、可访问性支持以及对动态色彩的响应能力。

1. 组件的原理与作用

M3 组件的设计原理和作用主要体现在以下几个方面:

  • 封装设计原则: 每个 M3 组件都内置了对 M3 核心设计原则的理解和实现。例如,一个 M3 按钮会自动响应动态色彩主题,应用合适的形状(如默认圆角),并在点击时展示符合 M3 规范的动效。这使得设计师无需从零开始实现这些细节,大大提高了效率。

  • 一致性与可预测性: 使用 M3 组件可以确保整个产品界面在视觉和行为上保持高度一致。用户在不同应用中遇到相同的 M3 组件时,能够凭借经验快速理解其功能和交互方式,降低了学习成本。

  • 高效开发与维护: 组件是可复用的。开发者可以直接使用 M3 提供的组件库(如 Android 的 Jetpack Compose 或 Web 的 Material Web Components),而无需自己编写大量的 UI 代码。这不仅加速了开发进程,也简化了后续的维护工作。

  • 可定制性与灵活性: 尽管组件预设了样式,但 M3 提供了丰富的 API 和配置选项,允许设计师和开发者根据品牌需求和具体场景定制组件的颜色、形状、排版和行为,而无需“脱离”Material Design 系统。

  • 无障碍性 (Accessibility) 内置: M3 组件在设计之初就考虑了无障碍性,例如触摸目标区域大小、颜色对比度、语义标签等,确保残障用户也能顺畅使用产品。

  • 适应性与响应式: 组件被设计为能够自适应不同的屏幕尺寸和设备类型。例如,一个 M3 的底部导航栏在手机上可能显示为标签和图标,但在大屏幕设备上可能会转换为侧边导航抽屉。

2. M3 组件的主要类型与特点

M3 提供了涵盖广泛 UI 需求的组件。以下是一些核心组件及其在 M3 中的特点:

  • 按钮 (Buttons):

    • 特点: M3 提供了多种按钮类型(如 Text Button, Outlined Button, Elevated Button, Filled Button, Tonal Button),它们在视觉强调程度、背景填充和阴影上有所不同。

    • M3 增强: 更强调使用色调高度而非阴影来区分按钮的层级。默认使用圆角,且能很好地响应动态色彩。

    • 原理: 通过不同的背景填充、边框和前景色的组合,来传达按钮的重要性和可点击性,同时保持 M3 的视觉风格。

  • 卡片 (Cards):

    • 特点: 用于组织和展示相关内容的小型容器。

    • M3 增强: 默认使用更柔和的圆角,可通过色调高度来表示层级。卡片内可以容纳文本、图像和操作按钮。

    • 原理: 利用背景色、形状和边距来将相关信息组合成一个独立的视觉单元,方便用户理解和浏览。

  • 芯片 (Chips):

    • 特点: 小巧的、可交互的组件,用于表示输入、属性或操作。

    • M3 增强: 提供了多种类型的芯片(如 Assist Chip, Filter Chip, Input Chip, Suggestion Chip),每种都有不同的交互和视觉样式。

    • 原理: 提供紧凑的交互元素,节省空间,并在视觉上清晰地标识特定信息或选择。

  • 导航栏 (Navigation Bars/Drawers/Rails):

    • 特点: M3 为不同屏幕尺寸和设备提供了灵活的导航模式。

    • M3 增强:

      • Bottom Navigation Bar (底部导航栏): 适用于小屏幕设备,图标和标签清晰。

      • Navigation Rail (导航轨道): 适用于中等尺寸屏幕(如折叠屏、小平板),在侧边显示图标和可选标签,提供更多垂直空间。

      • Navigation Drawer (导航抽屉): 适用于更大的屏幕,作为主导航入口。

    • 原理: 提供清晰的导航路径,并通过适应性设计确保在各种设备上都能获得最佳的导航体验。

  • 顶栏 (Top App Bars):

    • 特点: 位于屏幕顶部,提供标题、导航和操作。

    • M3 增强: 提供了多种高度和类型的顶栏(如 Center Aligned, Small, Medium, Large),允许更多创意和品牌表达。Large 和 Medium 的顶栏在内容滚动时可以折叠变小。

    • 原理: 作为应用程序的入口点和品牌标识,同时提供关键的上下文信息和操作。

  • 对话框 (Dialogs):

    • 特点: 临时性的弹出窗口,用于获取用户决策或提供关键信息。

    • M3 增强: 默认采用圆角,背景模糊效果更柔和,支持动态色彩。

    • 原理: 通过模态交互强制用户关注特定信息或做出决策,避免干扰主要任务流程。

  • 表单组件 (Input Fields, Checkboxes, Switches, Sliders):

    • 特点: 用于用户输入和选择。

    • M3 增强: 更加统一的视觉风格,更清晰的焦点状态和错误状态指示,且能与动态色彩完美配合。

    • 原理: 提供直观的输入机制,并通过视觉反馈清晰地展示用户输入或选择的状态。

3. 组件的定制化与可访问性

  • 主题化 (Theming): 这是 M3 组件定制的核心。通过定义一个 M3 主题(包括颜色、排版和形状),所有支持该主题的组件都会自动应用这些样式。这意味着你不需要单独为每个按钮设置颜色,只需设置主题的主色,所有主按钮都会随之改变。

  • 组件特定定制: 除了全局主题,每个组件也提供了独立的属性和方法,允许设计师和开发者进行更细粒度的控制,例如改变特定按钮的形状,或者覆盖某个文本字段的颜色。

  • 无障碍性: M3 组件从设计之初就考虑了触摸目标大小(至少 48x48dp)、对比度(文本与背景至少 4.5)以及语义化标签(如屏幕阅读器可识别的描述),确保所有用户都能无障碍地使用。

例子

我们通过一个旅行预订应用的界面来展示 M3 组件的应用。

1. 首页:搜索与推荐

  • 顶栏 (Large Top App Bar): 顶部有一个大的、居中的标题“探索世界”,在用户向下滚动时,它会平滑地收缩为小的顶栏。

    • 应用原理: 利用 M3 大顶栏的动态收缩特性,在初始状态提供更强的品牌和入口感,滚动时节省屏幕空间。

  • 搜索框 (Filled Text Field): 位于顶栏下方,样式是填充型的,带有圆角。

    • 应用原理: M3 填充型文本字段提供清晰的输入区域,默认的圆角与其周围组件保持视觉一致。

  • 推荐卡片 (Elevated Card): 例如“热门目的地”、“特色活动”等,这些卡片是凸起的,带有轻微的色调叠加表示海拔。卡片内部包含图片、标题 (Title Medium) 和简短描述 (Body Medium)。

    • 应用原理: Elevated Card 通过色调叠加而非强烈的阴影来区分层级,使界面更干净。卡片内的排版也遵循 M3 规范,确保可读性。

  • 热门筛选芯片 (Filter Chips): 比如“海滩”、“山区”、“城市”等,用户可以点击选择。

    • 应用原理: Filter Chips 提供了可点击的筛选选项,选中时会改变颜色和填充,清晰展示用户选择。

2. 预订详情页

  • 返回按钮 (Icon Button): 顶栏左侧的返回箭头,点击时有 M3 推荐的轻微触控反馈动效。

    • 应用原理: M3 图标按钮提供标准化的交互区域和视觉反馈。

  • 住宿图片轮播 (Image Carousel): 图片左右滑动切换。

    • 应用原理: M3 对图片的处理通常是全宽或在容器中,并可能结合 Page Indicator 来显示当前图片位置。

  • 预订信息卡片 (Outlined Card): 包裹着价格、入住/退房日期、房型等信息。边缘有细边框。

    • 应用原理: Outlined Card 通过边框来区分内容,提供一种轻量级的容器。

  • 入住/退房日期选择器 (Date Picker): 点击日期输入框后弹出的 M3 日期选择器组件。

    • 应用原理: M3 日期选择器提供了清晰、直观的日期选择界面,符合 M3 的设计美学和交互模式。

  • “立即预订”按钮 (Filled Button): 页面底部最醒目的行动按钮。

    • 应用原理: Filled Button 是 M3 中最重要的行动按钮,通过实心填充和默认的圆角来吸引用户注意力,并响应主题主色。

3. 用户个人中心

  • 个人资料头像 (Full Shape Image): 用户的圆形头像。

    • 应用原理: Full Shape 确保头像始终是完美的圆形。

  • 设置列表项 (List Items): 例如“我的预订”、“支付方式”、“个人信息”等,每个列表项都是一个可点击的区域,通常带有图标和文本 (Body Large)。

    • 应用原理: M3 列表项提供标准化的布局和交互区域,确保信息清晰和易于点击。

  • 切换开关 (Switch): 例如“接收通知”的开关。

    • 应用原理: M3 Switch 组件提供了清晰的开启/关闭状态,并有平滑的切换动效。

评论交流
暂无评论,欢迎分享您的见解