温习Android基础知识——《第一行代码(第三版)》读书笔记 Chapter 12 Material Design

第十二章:最佳的UI体验,Material Design实战

什么是Material Design

为了保证界面美观,风格统一,Google 在2014年的IO大会上推出了Material Design,并从Android 5.0系统开始,将内置应用全部使用Material Design风格进行设计。

Toolbar

Toolbar是代替ActionBar用作标题栏,它继承了后者的全部功能,而且可以配合其他控件完成一些Material Design的操作。
标题栏的内容在注册文件的android:label标签下。

滑动菜单

DrawerLayout 抽屉布局

该布局允许放入两个直接子控件,第一个是主屏幕显示的内容,第二个是滑动菜单中显示的内容。

NavigationView 导航视图

该控件可用来实现滑动菜单界面,它可以放入显示头部布局的headerLayout和显示具体菜单项的menu。

悬浮按钮和可交互提示

FloatingActionButton 悬浮按钮

该控件用来实现悬浮按钮的效果。

SnackBar 快餐厅

该工具用来实现可交互提示,它不是Toast的替代品。Toast告诉用户发生了什么事情,用户只能被动接受,而它允许在提示中加入一个可交互按钮,当用户点击按钮的时候,可以执行一些额外的逻辑操作。

CoordinatorLayout 协调器布局

该布局是加强版的帧布局,普通情况下作用于帧布局基本一致,但它可以监听其所有子控件的各种事件,并自动帮助我们做出最为合理的相应。如弹出的SnackBar挡住FloatingActionButton时,它会协调悬浮按钮上移,避免被挡住。

卡片式布局

MaterialCardView

该控件是用来实现卡片式布局效果的重要控件,它其实也是一个帧布局,只是额外提供了圆角和阴影的效果。

Glide

它是一个强大的开源图片加载库,在用法简单的基础上,可以用于加载本地图片、网络图片、GIF图片、本地视频等。尤其是当图片像素过高,如果不压缩直接展示容易发生内存溢出,使用Glide就可以帮助我们自动完成压缩操作。

AppBarLayout 应用程序栏布局

ToolBar被遮挡时,将其嵌套进该布局中,并给RecyclerView指定一个布局行为,如appbar_scrolling_view_behavior。
当AppBarLayout接收到滚动事件的时候,它内部的子控件还可以指定如何去影响这些事件。如向ToolBar中添加app:layout_srollFlags属性。

app:layout_scrollFlags="scroll|enterAlways|snap"
//向上滚动时隐藏、
//向下滚动时显示、
//没有完全隐藏或显示时根据滚动距离自动选择隐藏还是显示

下拉刷新

SwipeRefreshLayout 刷新布局

该布局内的控件会拥有刷新功能。之后在代码中完善刷新逻辑即可。

可折叠式标题栏

CollapsiongToolbarLayout 折叠工具栏布局

该布局作用于Toolbar之上。

NestedScrollView

它不仅可以实现和ScrollView同样的以滚动方式查看屏幕外数据的功能,还增加了嵌套相应滚动事件的功能。

充分利用系统状态栏空间

Android 5.0之前我们无法操作状态栏的背景或颜色,之后都支持这个功能。
将程序主题中状态栏颜色指定为透明,而后在 CoordinatorLayout 、AppBarLayout 、CollapsiongToolbarLayout 这种嵌套结构的布局中指定android:fitsSystemWindows属性为true

猜你喜欢

转载自blog.csdn.net/qq_45254908/article/details/107568153