Material Design——CollapsingToolbarLayout+AppBarLayout+CoordinatorLayout实现菜单栏炫酷折叠效果

来源:互联网 发布:淘宝发布宝贝添加规格 编辑:程序博客网 时间:2024/05/22 08:00

三层布局层层嵌套,不多说,贴代码

    <android.support.design.widget.CoordinatorLayout        android:layout_width="match_parent"        android:layout_height="match_parent">        <android.support.design.widget.AppBarLayout            android:layout_width="match_parent"            android:layout_height="250dp">            <android.support.design.widget.CollapsingToolbarLayout                android:layout_width="match_parent"                android:layout_height="match_parent"                android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"                app:contentScrim="@color/cardview_dark_background"                app:layout_scrollFlags="exitUntilCollapsed|scroll">                <ImageView                    android:layout_width="match_parent"                    android:layout_height="match_parent"                    android:src="@drawable/bg"                    app:layout_collapseMode="parallax"/>                <android.support.v7.widget.Toolbar                    android:layout_width="match_parent"                    android:layout_height="?attr/actionBarSize"                    android:id="@+id/toolbar"                    app:layout_collapseMode="pin"></android.support.v7.widget.Toolbar>            </android.support.design.widget.CollapsingToolbarLayout>        </android.support.design.widget.AppBarLayout>        <android.support.v4.widget.NestedScrollView            android:layout_width="match_parent"            android:layout_height="match_parent"            app:layout_behavior="@string/appbar_scrolling_view_behavior">            <android.support.v7.widget.CardView                android:layout_width="match_parent"                android:layout_height="match_parent"                android:id="@+id/CardView">                <TextView                    android:layout_width="wrap_content"                    android:layout_height="wrap_content"                    android:id="@+id/CardText"/>            </android.support.v7.widget.CardView>        </android.support.v4.widget.NestedScrollView>    </android.support.design.widget.CoordinatorLayout>    <android.support.design.widget.NavigationView        android:layout_width="match_parent"        android:layout_height="match_parent"        app:headerLayout="@layout/header"        app:menu="@menu/drawermenu"        android:layout_gravity="start">    </android.support.design.widget.NavigationView></android.support.v4.widget.DrawerLayout>

CoordinatorLayout是加强版的FrameLayout,监听子布局的各种事件,自动帮我们实现最优的Material Design效果,AppBarLayout 作为CoordinatorLayout的子控件封装了很多滚动事件,支持手势滑动,配合CollapsingToolbarLayout一起实现折叠菜单,NestedScrollView或者RecyclerView支持CoordinatorLayout下的滚动

app:contentScrim=”@color/cardview_dark_background”支持折叠后的toolbar背景

阅读全文
0 0
原创粉丝点击