9

私のactivity_main.xmlに含まれているのDrawerLayoutは、content_layout.xmlCoordinatorLayoutと呼ばれるものです。この中に myが含まれており、次にフラグメントのコンテンツの a が含まれています。CoordinatorLayoutAppBarLayoutToolbarLinearLayout

を含むフラグメントがRecyclerView上にスクロールされると、ツールバーは正常に終了します。問題は、下にスクロールしてツールバーを戻すときに発生します。ツールバーは、ツールバーの高さ全体がスクロールされるまで表示されず、表示されているように見苦しい白いボックスがその場所に残ります。

ツールバー

content_layout.xml

<android.support.design.widget.CoordinatorLayout
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/container_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

    </android.support.design.widget.AppBarLayout>

    <!-- The main content view for fragments-->
    <LinearLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

</android.support.design.widget.CoordinatorLayout>

ツールバーは を介し​​て初期化されMainActivityますonCreate():

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

これを解決するための提案をいただければ幸いです。ありがとうございました。

4

1 に答える 1

13

私はこれと同じ問題を抱えていましたが、それを解決したことがわかった唯一のことはtoolbarAppBarLayout. ツールバーの下のレイアウトに非表示のビューを配置しました。最も理想的なソリューションではありませんが、うまくいきました。

<android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">      

     <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

     <View
        android:id="@+id/appbar_bottom"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@android:color/transparent"
        android:visibility="invisible"/>

</android.support.design.widget.AppBarLayout>
于 2015-06-17T18:56:15.863 に答える