Android 5.0新控件 AppBarLayout | 嵌套布局 介绍及使用详情

Android 5.0新控件 AppBarLayout | 嵌套布局 介绍及使用详情

extends LinearLayout

AppBarLayout is a vertical LinearLayout which implements many of the features of material designs app bar concept, namely scrolling gestures.

嵌套布局是一个垂直的LinearLayout,其实现了许多的材料设计应用栏概念的特征,像滚动手势

  • AppBarLayout通常直接作为CoordinatorLayout的直接子View使用,否则它的大部分功能将失效。
  • 它的子View通过setScrollFlags(int)或XML属性:app:layout_scrollFlags来设置滚动行为

下面是官方给出的事例

 "http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto"
         android:layout_width="match_parent"
         android:layout_height="match_parent">

     "match_parent"
             android:layout_height="match_parent"
             app:layout_behavior="@string/appbar_scrolling_view_behavior">

         

     

     "wrap_content"
             android:layout_width="match_parent">

         "scroll|enterAlways"/>

         "scroll|enterAlways"/>

     

 

我们来看下效果图

使用方法

AppBarLayout来自design兼容包,使用需要添加依赖。android studio 添加依赖如下:

dependencies {
    compile ‘com.android.support:design:22.2.0+‘
}

首先,XML中添加布局文件

    "match_parent"
        android:layout_height="match_parent">

        "match_parent"
            android:layout_height="wrap_content"
            >

            "@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/colorTheme"
                android:contentInsetStart="0dp"
                app:layout_scrollFlags="scroll|enterAlways|snap">

                "@+id/imageview_back"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingBottom="20dp"
                    android:paddingLeft="5dp"
                    android:paddingRight="20dp"
                    android:paddingTop="20dp"
                    android:src="@drawable/back"/>

                "wrap_content"
                    android:layout_height="wrap_content"
                    android:text="CoordinatorLayout"
                    android:textColor="@android:color/white"/>

            
        

        "@+id/recyclerview"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

    

app:layout_behavior=”@string/appbar_scrolling_view_behavior”给滑动的布局添加滑动行为(behavior可以用系统提供的,也可自定义)

AppBarLayout的子View设置了app:layout_scrollFlags=”scroll|enterAlways|snap”属性,就会随滑动而显示与隐藏

对scrollFlags属性不熟悉的可以参考这篇文章

OK,这就完成了如效果图上的效果,可以自己尝试一下

官方API

完整代码点我下载GitHub

Thank you

  • 以上仅本人学习中遇到的问题,如有更多意见欢迎随时交流 issues
  • email:[email protected]

你可能感兴趣的:(Android,Material,Design)