CoordinatorLayout вид выравнивания внизу - PullRequest
0 голосов
/ 06 июня 2019

У меня есть следующий основной файл макета

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">
    <data>
        .....
    </data>

    <android.support.design.widget.CoordinatorLayout
        android:id="@+id/mainView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">

        <android.support.design.widget.AppBarLayout
            android:id="@+id/appBar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <include
                layout="@layout/view_main_toolbar"
                android:layout_width="match_parent"
                android:layout_height="@dimen/toolbar_height"
                app:layout_scrollFlags="scroll|enterAlways|snap"
                app:viewModel="@{toolbarViewModel}" />
        </android.support.design.widget.AppBarLayout>

        <android.support.v4.view.ViewPager
            android:id="@+id/viewPager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior" />

        <include
            layout="@layout/chromecast_mini_controller_stub"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom" />

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

включенный макет

<?xml version="1.0" encoding="utf-8"?>
<ViewStub xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/castMiniControllerStub"
    android:inflatedId="@+id/castMiniController"
    android:layout="@layout/chromecast_mini_controller"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:visibility="gone" />

android: layout = "@ layout / chromecast_mini_controller" равен

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/castMiniController"
    class="com.google.android.gms.cast.framework.media.widget.MiniControllerFragment"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:visibility="gone" />

Во время выполнения, когда включенный макет раздувается, кажется, что он перекрывает нижнюю часть ViewPager (android: id = "@ + id / viewPager"). Под перекрытием я подразумеваю, что viewpager находится позади, а включенный элемент макета находится сверху (выровненна дно родительского контейнера).

Я хочу, чтобы включенный вид был выровнен «под» ViewPager.Я попытался сделать тег включения, как показано ниже, но все же он не отображается под ViewPager.

<include
            layout="@layout/chromecast_mini_controller_stub"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            app:layout_anchor="@id/viewPager"
            app:layout_anchorGravity="bottom|end"/> 

Как сделать так, чтобы включенный макет отображался «под» ViewPager?Ниже я имею в виду, что включенный макет не должен перекрываться в нижней части ViewPager, но должен располагаться под ViewPager.

...