web-dev-qa-db-ja.com

CoordinatorLayout AppBarLayoutの背後にあるコンテンツ

アプリの設定アクティビティ/レイアウトを作成していました。 CoordinatorLayoutAppBarLayoutを持つToolbarがあり、その下にcontent_settings.xml。コンテンツが読み込まれると、.xmlファイルはアプリバーの背後にあります。

私はこの同じセットアップを使用してメインコンテンツをロードしていますが、正常に動作しますが、何らかの理由で[設定]セクション内で正しくレンダリングされません。

activity_settings.xml

<Android.support.design.widget.AppBarLayout
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:theme="@style/AppTheme.AppBarOverlay">

    <Android.support.v7.widget.Toolbar
        Android:id="@+id/toolbar"
        Android:layout_width="match_parent"
        Android:layout_height="?attr/actionBarSize"
        Android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

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

<include layout="@layout/content_setting" />

Content_settings.xmlは、FrameLayoutに置き換えられた単なるPreferenceFragmentです

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:app="http://schemas.Android.com/apk/res-auto"
    Android:id="@+id/settings_container"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent" />

enter image description here

26
ENG618

これをご使用のRecyclerviewに追加します。

app:layout_behavior="@string/appbar_scrolling_view_behavior"
68
Shashank Kumar

私の場合、ツールバーの下のビューはスクロール可能ではなかったので、受け入れられた答えが重なりを止めても、ツールバーの高さでコンテンツを押し下げ、要素を画面外に押し出しました。この場合の解決策は、

app:layout_scrollFlags

スクロールビューがある他のレイアウトに含めたり共有したりしたツールバーから。

3
lbarbosa