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

来源:互联网 发布:知呱呱 靠不靠谱 编辑:程序博客网 时间:2024/05/16 16:07

Android 5.0以来MD效果是特别的酷炫,记录之前做的简单toolbar效果,和nestscrollview配合使用,下过如下:
这里写图片描述

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

<?xml version="1.0" encoding="utf-8"?><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">        <!--toolbar进行滑动监听-->        <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上

阅读全文
0 0