书上没有CoordinatorLayout与DrawerLayout组合使用的例子,想着弄一下状态栏使用背景图片色,第一次弄完之后页面不能滑动。
最后找到原因是DrawerLayout放在了CoordinatorLayout里面,把DrawerLayout放在CoordinatorLayout外面,并且ScrollView与CoordinatorLayout同一级中就好了。下面的布局中ScrollView的父级是SwipeRefreshLayout,这个是用来下拉刷新的,不用套这层也是可以的。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
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:id="@+id/drawer_layout"
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.CoordinatorLayout
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
>
<ImageView
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:id="@+id/bing_pic_img"
android:scaleType="centerCrop"
android:layout_height="match_parent" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:id="@+id/weather_layout"
android:scrollbars="none"
android:overScrollMode="never"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="wrap_content">
<include layout="@layout/title"/>
<include layout="@layout/now"/>
<include layout="@layout/forecast"/>
<include layout="@layout/aqi"/>
<include layout="@layout/suggestion"/>
</LinearLayout>
</ScrollView>
</android.support.v4.widget.SwipeRefreshLayout>
<fragment
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/chooser_area_fragment"
android:name="com.coolweather.android.db.ChooseAreaFragment"
android:layout_gravity="start"
/>
</android.support.v4.widget.DrawerLayout>