CoordinatorLayout заставляет FrameLayout отставать от панели навигации внизу - PullRequest
0 голосов
/ 16 ноября 2018

Это моя деятельность XML:

<?xml version="1.0" encoding="utf-8"?>
<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:background="@android:color/white"
    android:fitsSystemWindows="true">

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

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

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

Я заменяю frameLayoutContainer фрагментом с корнем ConstraintLayout.Он имеет вид кнопки внизу, ограниченный app:layout_constraintBottom_toBottomOf="parent"

, но вид кнопки находится за панелью навигации.У меня есть много операций с почти одинаковой структурой, но у них нет такой проблемы.

Когда я заменяю CoordinatorLayout на LinearLayout, проблема решается, но я хочу знать, что не так с CoordinatorLayout

1 Ответ

0 голосов
/ 16 ноября 2018

Линия app:layout_behavior="@string/appbar_scrolling_view_behavior" выполняет всю работу. Попробуйте удалить эту строку из вашего XML-файла, и вы увидите, что проблема возникает, даже если вы не замените frameLayoutContainer на Fragment.

Таким образом, решение состоит в том, чтобы добавить эту строку app:layout_behavior="@string/appbar_scrolling_view_behavior" в корень фрагмента (либо в XML, либо программно) и проверить ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...