android端Material design笔记

本文详细介绍了 Material Design 的核心理念与新特性,包括物理特性、阴影效果、动画设计等,同时深入探讨了多种组件如 AppBarLayout、CoordinatorLayout、FloatingActionButton 的应用场景与配置方法,以及 NestedScrollView 的常见问题解决方案。
摘要由CSDN通过智能技术生成

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>