本篇主要记录一下 CoordinatorLayout 相关属性(持续更新、整理)当然一些常用的属性就不作记录了(如,背景、宽高等)
CoordinatorLayout
app:layout_anchor 设置 CoordinatorLayout 的直接子控件的锚点(以某个 Coordinatorlayout直接或间接子控件 为参考设置本控件的位置),这个值通常设置为控件的id。
app:layout_anchorGravity 设置CoordinatorLayout 直接子控件 相对锚点的位置,值有 bottom、center、right、left、top等。
app:layout_behavior : CoordinatorLayout 的精华, 直接子控件使用,设置子控件的行为(如平移,缩放,位置,显示状态等)
app:layout_scrollFlags :效果显示,视图滚动时,Toolbar会隐藏,这个效果是Android Support Library里面,新增的CoordinatorLayout, AppBarLayout实现的。
通过AppBarLayout的子视图 的属性控制。这就是控制滑动时视图效果的属性。app:layout_scrollFlags有四个值:
1、scroll: 所有想滚动出屏幕的view都需要设置这个flag, 没有设置这个flag的view将被固定在屏幕顶部。例如,TabLayout 没有设置这个值,将会停留在屏幕顶部。
2、enterAlways: 设置这个flag时,向下的滚动都会导致该view变为可见,启用快速“返回模式”。
3、enterAlwaysCollapsed: 当你的视图已经设置minHeight属性又使用此标志时,你的视图只能已最小高度进入,只有当滚动视图到达顶部时才扩大到完整高度。
4、exitUntilCollapsed: 滚动退出屏幕,最后折叠在顶端。
Toolbar
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:popupTheme,这个属性就是用来自定义我们弹出的菜单的样式,在之前的Actionbar的溢出菜单,我们是不能自定义他的样式的,只能根据你的theme来选择黑白两种,不能自己定义,现在我们可以定义弹出菜单的样式
CollapsingToolbarLayout
作用是提供了一个可以折叠的Toolbar,它继承至FrameLayout,给它设置layout_scrollFlags,它可以控制包含在CollapsingToolbarLayout中的控件(如:ImageView、Toolbar)在响应layout_behavior事件时作出相应的scrollFlags滚动事件(移除屏幕或固定在屏幕顶端)。
1、app:contentScrim="#30469b"//设置当完全CollapsingToolbarLayout折叠(收缩)后的背景颜色。
2、app:expandedTitleMarginStart="48dp"//设置扩张时候(还没有收缩时)title向左填充的距离。
3、app:toolbarId 指定与之关联的ToolBar,如果未指定则默认使用第一个被发现的ToolBar子View
4、app:layout_collapseMode="parallax" 有两个可以先模式,设置为 parallax 模式时,在内容滚动时,CollapsingToolbarLayout中的View(比如ImageView)也可以同时滚动,实现视差滚动效果,通常和layout_collapseParallaxMultiplier(设置视差因子)搭配使用。设置为 pin 模式时,当CollapsingToolbarLayout完全收缩后,Toolbar还可以保留在屏幕上
5、app:layout_collapseParallaxMultiplier="0.7" //设置视差的系数,介于0.0-1.0之间。。
6、app:collapsedTitleGravity 指定折叠状态的标题如何放置,可选值:top、bottom等
7、app:collapsedTitleTextAppearance="@style/TextAppearance.CollapsedTitle" 指定折叠状态标题文字的样式
8、app:expandedTitleTextAppearance="@style/TextAppearance.ExpandedTitle" 指定展开状态标题文字的样式
9、app:contentScrim="?attr/colorPrimaryDark" 指定CollapsingToolbarLayout完全被滚出到屏幕外时的ColorDrawable
10、app:expandedTitleGravity 展开状态的标题如何放置
11、app:titleEnabled 指定是否显示标题文本