颜色-样式https://www.mdui.org/design/style/color.html#color-color-tool
布局–度量标准 & 关键线https://www.mdui.org/design/layout/metrics-keylines.html#metrics-keylines-keylines-spacing
一、Material Design新的特性
1、物理特性(高度、厚度)
2、阴影效果,增加了实体感
3、动画接近于现实中的动作(水波效果、转场特效等)
二、应用场景(都能用来做什么)
1、Android中各种地方均可应用(Activity切换特效、沉浸式动画效果、RecycleView各种效果)
三、新的组件
1、AppBarLayout
2、CoordinatorLayout
3、DrawerLayout、NavigationView
4、FloatingActionButton
5、SnackBar
6、BottomNavigationView
7、CollapsingToolbarLayout
8、TabLayout
9、TextInputLayout
四、基本思想:
1、Material Design是一种设计规范,旨在创造一种新的视觉设计语言,也就是所谓的实体感觉;
2、通过动画等实现过渡平稳、设置高度实现立体感觉等
一、CoordinatorLayout:
1、Child: CooridnatorLayout的子View,需要进行变换的目标View
2、Dependency:CoordiantorLayout的子View,执行变换的View
3、Dependency发生了改变,会导致Child进行改变,改变的效果及实现依赖于定制的BeHavior
4、应用于一个视图的改变依赖于另一个视图的改变(例如:状态栏和内容栏相互依赖)
二、Toobar:完全替换ActionBar
三、AppBarLayout:
1、垂直方向的LinearLayout,用于设置子View实行的动作类型
2、子View属性: app:layout_scrollFlags = scroll/enterAlways/exitUntilCollapsed/enterAlwaysCollapsed
2、与Toolbar一起使用可应用于“沉浸式”标题栏
四、CollapsingToolbarLayout:
1、用于包装Toolbar,实现伸缩效果的App Bar效果
2、作为AppBarLayout的直接子视图使用
参考:https://blog.csdn.net/zhang999zhi/article/details/68482990
NestedScrollView
Material Design系列教程(5) - NestedScrollView 主要实现了这两个接口NestedScrollingParent2和NestedScrollingChild2 https://www.jianshu.com/p/f55abc60a879
Android去掉可滑动控件滑动到边缘的光晕效
android:overScrollMode="never" 参考:https://www.jianshu.com/p/48506a2c2784
解决NestedScrollView 布局不能撑满屏幕 的问题
android:fillViewport="true" 参考:https://blog.csdn.net/shanshan_1117/article/details/84540333?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
使用NestedScrollView时,子布局显示出来往上走了
解决:在NestedScrollView的第一个子布局LinearLayout下添加:
android:focusable="true"
android:focusableInTouchMode="true" 参考:https://blog.csdn.net/haoxuhong/article/details/106000779
TabLayout https://blog.csdn.net/m0_37168878/article/details/73326095
https://www.jianshu.com/p/d35b5fa37b26 https://blog.csdn.net/shving/article/details/89075051
android.support.design:tabBackground — 设置的背景。
android.support.design:tabContentStart — 相对起始位置tab的Y轴偏移量。
android.support.design:tabGravity — tab的布局方式,两个值GRAVITY_CENTER (内容中心显示) 和 GRAVITY_FILL (内容尽可能充满TabLayout)。
android.support.design:tabIndicatorColor — 设置tab指示器(tab的下划线)的颜色。
android.support.design:tabIndicatorHeight — 设置tab指示器(tab的下划线)的高度。
android.support.design:tabMaxWidth — 设置tab选项卡的最大宽度。
android.support.design:tabMinWidth — 设置tab选项卡的最小宽度。
android.support.design:tabMode — 设置布局中tab选项卡的行为模式,两个常量MODE_FIXED (固定的tab)和 MODE_SCROLLABLE(滑动的tab)。
android.support.design:tabPadding — 设置tab的内边距(上下左右)。
android.support.design:tabPaddingBottom — 设置tab的底部内边距。
android.support.design:tabPaddingEnd — 设置tab的右侧内边距。
android.support.design:tabPaddingStart — 设置tab的左侧内边距。
android.support.design:tabPaddingTop — 设置tab的上方内边距。
android.support.design:tabSelectedTextColor — 设置tab被选中时的文本颜色。
android.support.design:tabTextColor — 设置tab默认的文本颜色。
android.support.design:tabTextAppearance — 设置tab的TextAppearance样式的引用,可以引用另一个资源,形式为“@ [+] [package:] type / name”或主题属性,格式为“?[package:] type / name”。。