AppBarLayout - макет иногда невидим после входа в представление (даже если он не введен)

У меня есть проблема, когда иногда AppBarLayout не будет показывать весь свой контент все время, когда вы играете с ним:

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


    <android.support.v7.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>


    <android.support.design.widget.AppBarLayout
            android:orientation="vertical"
            android:layout_height="148dp"
            android:layout_width="match_parent">

        <android.support.design.widget.TabLayout
                app:layout_scrollFlags="scroll|enterAlways"
                android:layout_height="48dp"
                android:background="@color/primarycolor"
                .../>

        <RelativeLayout
                app:layout_scrollFlags="scroll|enterAlways"
                android:background="@color/white"
                android:layout_height="100dp"
                ...>
        </RelativeLayout>

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

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

Решение предоставляется

Панель инструментов CoordinatorLayout невидима при входе до полной высоты

НО: он обеспечивает полную линию, которая не совпадает с основным цветом, который я указал в нижнем макете, потому что его фон белый. Мысли?

1 ответ

Решение

Это решение, расширяющее приведенное выше: используйте его вместо предоставленного, что позволит смешать appbarlayout и тонкое возвышение тени под ним.

<View
    android:id="@+id/appbar_bottom"
    android:layout_width="match_parent"
    android:layout_height=".3dp"
    android:background="#606060"
    android:visibility="visible"/>

и результирующий макет:

<android.support.design.widget.AppBarLayout
        android:orientation="vertical"
        android:layout_height="148.3dp"
        android:layout_width="match_parent">

    <android.support.design.widget.TabLayout
            app:layout_scrollFlags="scroll|enterAlways"
            android:layout_height="48dp"
            android:background="@color/primarycolor"
            .../>

    <RelativeLayout
            app:layout_scrollFlags="scroll|enterAlways"
            android:background="@color/white"
            android:layout_height="100dp"
            ...>
    </RelativeLayout>

    <View
        android:id="@+id/appbar_bottom"
        android:layout_width="match_parent"
        android:layout_height=".3dp"
        android:background="#606060"
        android:visibility="visible"/>
</android.support.design.widget.AppBarLayout>
Другие вопросы по тегам