Material Design相关(一) 概览
来源:互联网 发布:现货黄金模拟软件 编辑:程序博客网 时间:2024/05/16 00:54
一、基本介绍
根据官方的说法,Material Design是谷歌为了统一多个平台的视觉、运动与互动效果而制定的的综合指南。要求Android 5.0(API 21)以上。
Android提供了以下元素来构建Material Design来构建应用:
- 全新的风格主题
- 用于设计复杂视图的全新小工具
- 用于自定义阴影和动画的全新API
二、基本使用
1.官方的使用指南:
- 查阅Material Design规范
- 在应用中使用材料主题
- 遵循Material Design指导方针创建布局
- 指定视图要投射的阴影的高度
- 使用系统小组件呈现列表与卡片
- 定制应用中的动画
2.兼容性
由于有些Material Design功能仅在Android 5.0之后支持,所以需要保持设备的兼容性。
2.1 定义备用样式
- 定义一个从res/values/styles.xml中的早期版本主题(例如Holo)继承的主题
- 定义一个从res/values-v21/styles.xml中的材料主题继承的同名的主题
- 在清单文件中将此主题设置为应用的主题
注意:如果应用使用材料主题,但是没有提供备用主题,那么在Android 5.0之前的设备上将不能运行。
2.2 提供备用布局
如果使用了Android 5.0(API 21)以后提供的xml属性,并且应用需要在旧版本的设备上运行,那就需要提供备用布局。
在res/layout-v21内创建用于API 21的布局文件,同时在res/layout中创建用于早期版本的备用布局文件。例如,res/layout/my_activity.xml 是 res/layout-v21/my_activity.xml 的备用布局。
为了避免代码重复,在res/values中定义风格,在res/values-v21中为新API修改风格,以及使用风格继承(即:在 res/values/ 内定义基础风格,然后在 res/values-v21/ 内继承这些风格)
2.3 使用支持库
v7内容支持库及更高版本支持以下功能:
- 应用其中一个 Theme.AppCompat 主题时可取得适用于一些系统小组件的Material Design 风格。
- Theme.AppCompat 主题中拥有配色工具主题属性。
- 显示数据集合的 RecyclerView 小组件。
- 创建卡片的 CardView 小组件。
- 从图像萃取突出颜色的 Palette 类别。
2.4 系统小组件
Theme.AppCompat 主题可为这些小组件提供 Material Design 风格:
- EditText
- Spinner
- CheckBox
- RadioButton
- SwitchCompat
- CheckedTextView
2.5 配色工具
如果要利用 Android v7 支持内容库取得 Material Design 风格以及定制配色工具,请应用其中一个 Theme.AppCompat 主题:
<!-- extend one of the Theme.AppCompat themes --><style name="Theme.MyTheme" parent="Theme.AppCompat.Light"> <!-- customize the color palette --> <item name="colorPrimary">@color/material_blue_500</item> <item name="colorPrimaryDark">@color/material_blue_700</item> <item name="colorAccent">@color/material_green_A200</item></style>
2.6 检查系统版本
下列功能仅在 Android 5.0(API 级别 21)及更高版本中提供:
- 操作行为转换
- 触摸反馈
- 揭露动画
- 基于路径的动画
- 矢量图片
- 图片着色
如果要保留与早期版本 Android 的兼容性,请您在运行时检查系统 version,然后再为下列的任何一个功能调用 API:
// Check if we're running on Android 5.0 or higherif (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // Call some material design APIs here} else { // Implement this feature without material design}
三、使用材料主题
- 设置主题配色工具的系统小组件
- 适用于系统小组件的触摸反馈动画
- 操作行为转换动画
材料主题的定义为:
- @android:style/Theme.Material(深色版本)
- @android:style/Theme.Material.Light(浅色版本)
- @android:style/Theme.Material.Light.DarkActionBar
3.1 定制配色工具
如果要定制主题的基色以符合您的品牌,您可在进行材料主题继承时使用主题属性定义您的定制颜色:
<resources> <!-- inherit from the material theme --> <style name="AppTheme" parent="android:Theme.Material"> <!-- Main theme colors --> <!-- your app branding color for the app bar --> <item name="android:colorPrimary">@color/primary</item> <!-- darker variant for the status bar and contextual app bars --> <item name="android:colorPrimaryDark">@color/primary_dark</item> <!-- theme UI controls like checkboxes and text fields --> <item name="android:colorAccent">@color/accent</item> </style></resources>
3.2 定制状态栏
如果要为状态栏设置定制颜色,您可在扩展材料主题时使用 android:statusBarColor
属性。 默认情况下,android:statusBarColor
将继承 android:colorPrimaryDark
的值。
也可自行将状态栏移到后侧。例如,您想在一个照片上以透明的方式显示状态栏,同时利用细微的深色渐变以确保白色状态图标仍保持可见。 如果要执行此操作,请将 android:statusBarColor
属性设置为 @android:color/transparent
并根据需要调整窗口标志。您也可以使用Window.setStatusBarColor()
方法进行动画或淡出设置。
定制导航栏和状态栏时,您可选择将导航栏和状态栏变透明或仅修改状态栏。 在所有其他情况中,导航栏均应保持黑色
- Material Design相关(一) 概览
- Material Design 学习(一)
- Material Design动画(一)
- Material Design学习(一)
- Material Design 学习(一)
- Material Design主题(一)
- Material Design概述(一)
- Material Design动画(一)
- Material Design控件使用(一)
- Material Design学习笔记(一)
- Material Design for Developers(一)概述
- android material design之Toolbar(一)
- Material Design(一):TabLayout的使用
- Android 之 Material Design(一)
- Material Design当中的动画(一)
- Material Design学习回顾(一)
- Material Design 初接触(一)
- Material Design控件使用(一)
- 初识计算机网络(一)
- C控制台模拟播放器
- Ubuntu 设置环境变量
- effective c++条款4(确定对象被使用前先被初始化)
- C++基础知识复习-【1】进制转换系列之16进制转10进制
- Material Design相关(一) 概览
- Spring学习之获取其他Bean的属性值(PropertyPathFactoryBean)
- mysql几个方面的调优
- 泊松分布和指数分布:10分钟教程
- Fastjson使用
- 5-1 最长连续递增子序列
- Android中dip、dp、sp、pt和px的区别
- 让putty,secureCRT等工具支持Powerline,oh-my-zsh,解决乱码问题
- Bit Twiddling Hacks