天天看点

android端Material design笔记

颜色-样式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”。。