1. 程式人生 > >依葫蘆畫瓢,使用CoordinatorLayout後不能滑動

依葫蘆畫瓢,使用CoordinatorLayout後不能滑動

書上沒有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>