CoordinatorLayout 其实就是个高级的FrameLayout,用于协调子布局
要使用该控件,需要再gradle中加入:
 compile 'com.android.support:design:24.2.1'
1、CoordinatorLayout与AppBarLayout
 <android.support.design.widget.CoordinatorLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
app:layout_scrollFlags="scroll"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>
</android.support.design.widget.CoordinatorLayout>

注意:代码的第10行和第16行  @string/appbar_scrolling_view_behavior 是系统自带的一个Behavior,我们之后再讨论,这边先看一下 app:layout_scrollFlags="scroll"

    scroll、enterAlways、enterAlwaysCollapsed、exitUtilCollapsed、snap 五中可选

     scroll:伴随着滚动时间滚进滚出屏幕,如果设置了其他的flag,这个flag是必须写上的,不然没有效果;前面所有的子View都必须带上这个属性,不然没有效果

     enterAlways:快速返回模式,优先滚动toolbar

     enterAlwaysCollapsed :要使用这种属性,必须设置一个minHeight,先将toolbar滚动至minHeight,然后滚动RecycylerView,滚动至顶部之后就继续滚动toolbar,并且需要配合enterAlways一起使用,否则没有效果

     exitUtilCollapsed:先将toolbar滚动至minHeight,然后滚动recyclerView,toolbar不会完全滚出屏幕

     snap:toolbar滚动添加一个吸附的效果


2、CoordinatorLayout与CollapsingToolbarLayout
 <android.support.design.widget.CoordinatorLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="256dp">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapse"
app:contentScrim="#30469b"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
app:layout_collapseMode="parallax"
android:scaleType="center"
android:src="@mipmap/timg"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.v7.widget.Toolbar
app:layout_collapseMode="pin"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView> </android.support.design.widget.CoordinatorLayout>

注意:第11行:app:contentScrim设置折叠之后的颜色;

   第12行,flag必须设置成 scroll|exitUntilCollapsed;

   第16行 app:layout_collapseMode 设置成 parallax,表示图片会随着滚动开始渐变;

   第22行:设置成pin表示toolbar会停留在最上方

   此时如果要设置文字必须从CollapsingToolbarLayout入手

 <android.support.design.widget.FloatingActionButton
app:layout_anchor="@id/appbar"
app:layout_anchorGravity="right|bottom|end"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

  实现floatingActionButton与AppbarLayout一同消失和呈现

 
												

Android控件大全(四)——CoordinatorLayout的更多相关文章

  1. Android控件大全(二)——Toolbar

    1.隐藏Actionbar 代码中设置:requestWindowFeature(Window.FEATURE_NO_TITLE)     //如果Activity是继承自AppCompatActiv ...

  2. Android控件大全(三)——RecyclerView

    是时候用RecyclerView来替换ListView和GridView了 好处就不多说了,百度一搜一大把,来介绍下用法 先定义个适配器: public class BottomSheetAdapte ...

  3. Android控件大全(一)——DialogFragment创建对话框

    DialogFragment在android 3.0时被引入.是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框.典型的用于:展示警告框,输入框,确认框等等. 在Dia ...

  4. Android控件Gridview实现仿支付宝首页,Fragment底部按钮切换和登录圆形头像

    此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能:Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局. 效果 ...

  5. Android群英传笔记——第三章:Android控件架构与自定义控件讲解

    Android群英传笔记--第三章:Android控件架构与自定义控件讲解 真的很久没有更新博客了,三四天了吧,搬家干嘛的,心累,事件又很紧,抽时间把第三章大致的看完了,当然,我还是有一点View的基 ...

  6. SNF开发平台WinForm-Grid表格控件大全

    我们在开发系统时,会有很多种控件进行展示,甚至有一些为了方便的一些特殊需求. 那么下面就介绍一些我们在表格控件里常用的方便的控件:   1.Grid表格查询条 Grid表格下拉 3.Grid表格弹框选 ...

  7. Android控件Gridview实现多个menu模块,可添加可删除

    此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能:Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局. 效果 ...

  8. Delphi 控件大全

    delphi 控件大全(确实很全)   delphi 控件查询:http://www.torry.net/ http://www.jrsoftware.org Tb97 最有名的工具条(ToolBar ...

  9. [Android Pro] android控件ListView顶部或者底部也显示分割线

    reference to  :  http://blog.csdn.net/lovexieyuan520/article/details/50846569 在默认的Android控件ListView在 ...

随机推荐

  1. Oracle 12c agent install for linux

    安装Agent代理 在EM11g时,agent安装是通过在被监制主机端下载agent代理并安装,在EM12c版本号上,能够在EM12c服务端.通过"推送"的方式把agent代理在远 ...

  2. poj 2135 Farm Tour 最小费最大流

    inf开太小错了好久--下次还是要用0x7fffffff #include<stdio.h> #include<string.h> #include<vector> ...

  3. python 3.4读取输入参数

    python 3.4读取输入参数 学习了:https://blog.csdn.net/qq_24815615/article/details/52302615 注意,sys.args[0]是pytho ...

  4. call lua function from c and called back to c

    Just a simple example: --The  c file: #include <stdio.h> #include "lua.h" #include & ...

  5. RecyclerView的万能切割线

    效果图: 用法: 加入默认切割线:高度为2px.颜色为灰色 mRecyclerView.addItemDecoration(new RecycleViewDivider(mContext, Linea ...

  6. 【剑指offer】打印1到最大的n位数

    题目描写叙述: 输入数字n,按顺序打印出从1到最大的n位十进制数.比方输入3,则打印出1.2.3一直到最大的3位数即999. 分析描写叙述: 首先想到的是先计算出最大的n位数是多少,然后用一个循环从1 ...

  7. Loadrunner IP欺骗

    一.为什么要设置IP欺骗 1. 当某个IP的訪问过于频繁,或者訪问量过大时,server会拒绝訪问请求.这时候通过IP欺骗能够添加訪问频率和訪问量,以达到压力測试的效果. 2. 某些server配置了 ...

  8. PHP内核探索:内存管理开篇

    内存是计算机非常关键的部件之一,是暂时存储程序以及数据的空间,CPU只有有限的寄存器可以用于存储计算数据,而大部分的数据都是存储在内存中的,程序运行都是在内存中进行的.和CPU计算能力一样, 内存也是 ...

  9. Development of Intel chipsets interconnection

    http://en.wikipedia.org/wiki/Chipset Chipset From Wikipedia, the free encyclopedia     A chipset is ...

  10. Android 实例解说加入本地图片和调用系统拍照图片

    在项目的开发过程我们离不开图片.而有时候须要调用本地的图片,有时候须要调用拍照图片.同一时候实现拍照的方法有两种,一种是调用系统拍照功能.还有一种是自己定义拍照功能. 而本博文眼下仅仅解说第一种方法, ...