码迷,mamicode.com
首页 > 其他好文 > 详细

【框架】CoordinatorLayout协调者布局

时间:2016-05-04 15:45:34      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:

 

<?xml version="1.0" encoding="utf-8"?>
<!--
协调者布局,该布局整体上分为两部分,
第一部分是一个AppBar
第二部分是一个滚动控件,可用的滚动控件有两种:1.NestedScrollView、2.RecyclerView
-->
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="org.mobiletrain.a8_2coordinatorlayout.MainActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="200dp">

        <!--
        app:layout_scrollFlags="scroll" 表示CollapsingToolbarLayout的折叠行为,一共有5种取值:
        1. scroll 表示CollapsingToolbarLayout可以滚动
        2. enterAlways 表示只要下方的滚动控件向下滚动,头部就显示出来
        3. enterAlwaysCollapsed 表示当下方的滚动控件滚动见顶时,头部显示出来
        4. exitUntilCollapsed 表示当CollapsingToolbarLayout折叠到最小高度时(ToolBar的高度)时,停止折叠
        5. snap 表示在折叠过程中如果停止折叠,则CollapsingToolbarLayout会就近停靠

        app:contentScrim="@color/colorPrimary"表示当CollapsingToolbarLayout折叠到最小高度时ToolBar显示的颜色

        app:layout_collapseMode="parallax"表示CollapsingToolbarLayout中子控件的折叠模式,取值有两种:
        1.parallax表示该控件的折叠速度和CollapsingToolbarLayout的折叠速度不同步
        2.pin 表示当折叠完成后,该控件停留在头部

        app:layout_collapseParallaxMultiplier="1"表示视觉乘数(视觉差),取值0~1,
        0表示该控件上面折叠,下面不折叠
        1表示该控件下面折叠,上面不折叠
        0~1之间表示上下同时折叠,0.5表示上下折叠速率相同,大于0.5表示下面折叠速率大于上面折叠速率

        CollapsingToolbarLayout上的app:title="协调者布局"属性会覆盖掉ToolBar上的Title,建议在使用CollapsingToolbarLayout时不使用ToolBar的Title
        app:collapsedTitleGravity="right"表示折叠之后Title的位置
        app:expandedTitleGravity="bottom|right"表示展开后Title的位置
        -->
        <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:collapsedTitleGravity="left"
            app:contentScrim="@color/colorPrimary"
            app:expandedTitleGravity="bottom|right"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:title="协调者布局">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="centerCrop"
                android:src="@drawable/p1"
                app:layout_collapseMode="parallax"
                app:layout_collapseParallaxMultiplier="0.5"/>

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"></android.support.v7.widget.Toolbar>
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>

    <!--
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    该字符串表示协调滚动控件和AppBar协同工作的类的地址
    -->
    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="@string/book_content"/>
    </android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    }
}

 

【框架】CoordinatorLayout协调者布局

标签:

原文地址:http://www.cnblogs.com/anni-qianqian/p/5458609.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!