18

スクロールしてツールバーを非表示にするために、新しいデザイン サポート ライブラリを使用しています。ただし、ピカソで画像をロードしないと、すべてがうまく機能します。画像を読み込むと、下にスクロールしてツールバーを再度表示すると、ツールバーが空白の白い長方形になることがあります。この状況では、ナビゲーション トグルを押してドロワーを開くことができますが、画面に描画 (表示) されていないことに注意してください。

https://www.dropbox.com/s/nte3pr091nt2wfx/device-2015-05-30-093222.png?dl=0

しかし、うまくいく場合もあります:

https://www.dropbox.com/s/i3u87df4x48fhj6/device-2015-05-30-094217.png?dl=0

画像の読み込みタスクをすべて無効にすると、ツールバーが正しく表示されます。これが私のレイアウトです:

<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

       <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|enterAlways" />

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

    <FrameLayout
        android:id="@+id/main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

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

Picasso が ImageView に画像をロードすると、requestFocus と requestLayout が発生し、CoordinatorLayout がその状況でツールバーを適切に再描画できない可能性があると思いますが、それは私の推測にすぎません。

どんな提案でも役に立ちます、どうもありがとう!

4

1 に答える 1

11
<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

       <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|enterAlways" />

       <View
        android:layout_width="fill_parent"
        android:layout_height="1dp"/>

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

    <FrameLayout
        android:id="@+id/main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

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

これを試して。このスニペットで同じ問題を解決しました。ツールバーの後に高さ 1 dp のダミー ビューを追加しました。

于 2015-06-15T07:33:40.853 に答える