CoordinatorLayout的简单使用

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.m.coordinatorlayouttest.MainActivity">
    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <android.support.v7.widget.Toolbar
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:title="toolBar"
            app:titleTextColor="#fff"
            app:layout_scrollFlags="scroll"/>
    </android.support.design.widget.AppBarLayout>

   <android.support.v7.widget.RecyclerView
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       app:layout_behavior="@string/appbar_scrolling_view_behavior"
       android:id="@+id/recycler"/>
</android.support.design.widget.CoordinatorLayout>







首先你需要导入design库

File->Project Structure->app->Dependencies,然后点击右边的'+'号 ->Library Dependency,输入design

接下来分析xml代码

最外层是CoordinatorLayout,里面可以有同级两个子控件:

1.AppBarLayout,默认orientation是vertical,Toolbar就放在这里面

2.RecyclerView或NestedScrollView,记住一定要加

app:layout_behavior="@string/appbar_scrolling_view_behavior"
如果不加的话



可以看到,RecyclerView与AppBarLayout的滑动就不同步了

需要注意的是下面的代码


app:layout_scrollFlags="scroll"

这个属性有五个值

scroll   表示可以滑动

下面这四个值需要搭配scroll使用,例如

app:layout_scrollFlags="scroll|enterAlways"

enterAlways

向下拉,toolBar会折叠;向上拉,toolBar就会出现;


enterAlwaysCollapsed

向下拉,toolBar会折叠;向上拉,到达顶部,toolBar才会出现(单独的scroll也可以达到这种效果)


exitUntilCollapsed

向下拉,到达Toolbar的最小高度,就不能再折叠;向上拉,到达顶部,toolBar才会出现


snap

基本与enterAlwaysCollapsed一直,不过如果toolBar被拉出部分,则根据就近原则完全折叠或隐藏



scroll 与 scroll|enterAlwaysCollapsed




scroll|enterAlways




scroll|snap  

可以看到,如果toolBar显示一部分,要么折叠要么完全显示




scroll|exitUntilCollapsed

首先需要将Toolbar的高度修改

 android:layout_height="200dp"

可以看到,当Toolbar达到最小高度,也就是

 android:layout_height="?attr/actionBarSize"
的时候,就无法继续折叠了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值