DrawerLayout соответствует родительскому без панели инструментов [дубликат]

Вот парсер на основе PHP , который анализирует HTML с использованием некоторого нечестивого регулярного выражения. Как автор этого проекта, я могу сказать вам, что можно анализировать HTML с регулярным выражением, но не эффективно. Если вам нужно решение на стороне сервера (как и для моего плагина wp-Typography WordPress ), это работает.

1
задан Mike M. 22 February 2017 в 10:18
поделиться

1 ответ

Любой прямой дочерний View из DrawerLayout, который не является ящиком, считается содержимым View и будет выложен в match_parent в обоих направлениях, независимо от установленных вами атрибутов ширины и высоты в теме. В вашем случае - действительно, в большинстве случаев - вам нужен только один контент View, так что остальная часть не-ящика View s должна быть внутри одного ViewGroup.

Поместите свои ProgressBar и RecyclerView как внутри RelativeLayout, действующие как контент View, где они сохранят атрибуты макета, которые вы установили. Например:

<android.support.v4.widget.DrawerLayout
    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"
    tools:context="com.st.mf.UserAreaActivity"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="@dimen/activity_vertical_margin"
    android:background="#fff">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ProgressBar
            android:id="@+id/progressBar1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentTop="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentLeft="true"
            android:layout_marginTop="20dp" />

    </RelativeLayout>

    <android.support.design.widget.NavigationView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        app:menu="@layout/navigation_menu"
        android:layout_gravity="start">
    </android.support.design.widget.NavigationView>

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

Обратите внимание, что содержимое View должно всегда отображаться перед любыми ящиками, чтобы поддерживать надлежащий порядок z; т. е. удерживать ящики над содержимым.

1
ответ дан Mike M. 16 August 2018 в 01:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: