<?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); } }
时间: 2024-10-12 11:24:02