Как сделать так, чтобы навигационные выдвижные ящики хорошо играли с обзорами переработчиков? - PullRequest
0 голосов
/ 26 июня 2018

У меня есть активность с обзором переработчика и навигационным ящиком.

Когда выдвижной ящик находится перед камерой, и я открываю его, он все равно появляется за всем.

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

Сломанное наслоение

<?xml version="1.0" encoding="utf-8"?>

xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:fitsSystemWindows="true">

<android.support.v4.widget.DrawerLayout
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true" />

</android.support.v4.widget.DrawerLayout>

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@id/footer"
    android:layout_below="@id/header">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />
</RelativeLayout>

<RelativeLayout
    android:id="@+id/header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar" />
</RelativeLayout>

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Итак, я разобрался с проблемой: когда вы добавляете в свой проект folder_layout, вам нужно поместить все, что было ранее в упражнении, в content_frame, иначе он будет обрабатывать ящик как обычный элемент, потребляющий входные данные.

https://developer.android.com/training/implementing-navigation/nav-drawer

0 голосов
/ 26 июня 2018

Вам необходимо проверить elevation атрибут просмотров. Это позволяет представлениям изменять свою позицию z, чтобы они рисовались над другими видами и отбрасывали тени, несмотря на то, что они находятся ниже в иерархии видов.

Похоже, что элементы вашего recyclerView используют cardView с возвышением по умолчанию 4dp, в то время как навигационный драйвер имеет меньше (я думаю 2dp?).

...