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上