Fragment 内的折叠工具栏布局在顶部留下空白 Space
Collapsing Toolbar Layout inside Fragment Leaves blank Space at Top
我正在做一个项目,每当我尝试在片段中添加折叠布局时,它都会在顶部留下空白 space
如下图所示,在 activity 中使用的工具栏一旦我添加折叠工具栏,它就会留下这个空的 space,上面是橙色。
这是我的 Fragment 代码。
<?xml version="1.0" encoding="utf-8"?>
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_gravity="fill_vertical"
android:layout_height="220dp"
app:contentScrim="@android:color/transparent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:statusBarScrim="@android:color/transparent"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="220dp"
android:background="@color/review_orange"
android:src="@drawable/icon_collabartion" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:layout_marginTop="10dp"
android:id="@+id/rcv_showTimings"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="fill_vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
/>
</android.support.design.widget.CoordinatorLayout>
首先,确保您使用的是 AppCompat 中的 NoActionBar
主题之一。
您需要在 CollapsingToolbarLayout
中输入 Toolbar
:
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_gravity="fill_vertical"
android:layout_height="220dp"
app:contentScrim="@android:color/transparent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:statusBarScrim="@android:color/transparent"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="220dp"
android:background="@color/review_orange"
android:src="@drawable/icon_collabartion" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
我知道这是一个老问题,但让我提示一下!
你有一个主activity。
您有 10 个碎片。
您的 Main activity 可以托管 10 个片段。
正如 Kris 所说,您需要将工具栏保留在那里,您不应该移动它,然后在创建您的片段之后,在该片段中设置一个侦听器,该侦听器调用 activity 中剩余的初始化序列如果不创建片段就无法初始化。 (Drawer+NavigationView(来自 activity),CollapsingLayout 包含工具栏(在您的片段中)。
我正在做一个项目,每当我尝试在片段中添加折叠布局时,它都会在顶部留下空白 space
如下图所示,在 activity 中使用的工具栏一旦我添加折叠工具栏,它就会留下这个空的 space,上面是橙色。
这是我的 Fragment 代码。
<?xml version="1.0" encoding="utf-8"?>
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_gravity="fill_vertical"
android:layout_height="220dp"
app:contentScrim="@android:color/transparent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:statusBarScrim="@android:color/transparent"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="220dp"
android:background="@color/review_orange"
android:src="@drawable/icon_collabartion" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:layout_marginTop="10dp"
android:id="@+id/rcv_showTimings"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="fill_vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
/>
</android.support.design.widget.CoordinatorLayout>
首先,确保您使用的是 AppCompat 中的 NoActionBar
主题之一。
您需要在 CollapsingToolbarLayout
中输入 Toolbar
:
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_gravity="fill_vertical"
android:layout_height="220dp"
app:contentScrim="@android:color/transparent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:statusBarScrim="@android:color/transparent"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="220dp"
android:background="@color/review_orange"
android:src="@drawable/icon_collabartion" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
我知道这是一个老问题,但让我提示一下!
你有一个主activity。
您有 10 个碎片。
您的 Main activity 可以托管 10 个片段。
正如 Kris 所说,您需要将工具栏保留在那里,您不应该移动它,然后在创建您的片段之后,在该片段中设置一个侦听器,该侦听器调用 activity 中剩余的初始化序列如果不创建片段就无法初始化。 (Drawer+NavigationView(来自 activity),CollapsingLayout 包含工具栏(在您的片段中)。