CoordinatorLayout+AppBarLayout+Toolbar简单玩法,MD的behavior简单尝试

Android 5.0以来MD效果是特别的酷炫,记录之前做的简单toolbar效果,和nestscrollview配合使用,下过如下:
CoordinatorLayout+AppBarLayout+Toolbar简单玩法,MD的behavior简单尝试_第1张图片

主代码实在布局里面,里面的坑也比较多


<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:fitsSystemWindows="true"
    tools:context="com.example.minwenping.mdbehavior.MainActivity">
    <android.support.v4.widget.NestedScrollView      app:layout_behavior="@string/appbar_scrolling_view_behavior"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
        <LinearLayout
            android:layout_marginLeft="@dimen/activity_horizontal_margin"
            android:layout_marginRight="@dimen/activity_horizontal_margin"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        <Button
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_marginTop="4dp"
            android:text="按钮button1" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_marginTop="4dp"
            android:text="按钮button2" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_marginTop="4dp"
            android:text="按钮button3" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_marginTop="4dp"
            android:text="按钮button4" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_marginTop="4dp"
            android:text="按钮button5" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_marginTop="4dp"
            android:text="按钮button6" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_marginTop="4dp"
            android:text="按钮button7" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_marginTop="4dp"
            android:text="按钮button1" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_marginTop="4dp"
            android:text="按钮button1" />
        LinearLayout>
    android.support.v4.widget.NestedScrollView>

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize">
        
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            app:layout_scrollFlags="scroll|enterAlways"
            app:title="本人就是Toolbar粉嫩的toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/colorAccent">
        android.support.v7.widget.Toolbar>
    android.support.design.widget.AppBarLayout>
android.support.design.widget.CoordinatorLayout>

坑1:toolbar外面要包装以一个appbar,appbar继承LinearLayout,否则无法实现toolbar随着scrollview滑动进出效果
坑2.在nestscrollview的直接父只能是CoordinatorLayout,两者之间不能加入其他的容器,比如在nestscrollview外面套一层相对布局
坑3. toolbar监控其他控件滑动的xml标签“app:layout_scrollFlags,”只能标记在toolbar上,不能标记在appbar上

你可能感兴趣的:(Android)