Почему ViewPager не смахивает внутри RelativeLayout? - PullRequest
0 голосов
/ 11 сентября 2018

После изменения линейной разметки на Относительное изменение разметки не работает.

Весь код XML здесь.

<RelativeLayout 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.v4.view.ViewPager
        android:id="@+id/singleSlider"
        android:layout_width="match_parent"
        android:layout_height="@dimen/slider_height"
        android:background="@color/colorPrimaryDark" />

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

        ...

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

</RelativeLayout>

В чем может быть проблема?

Не работает и с Frame Layout.

Есть предложения?

Ответы [ 3 ]

0 голосов
/ 11 сентября 2018

Я думаю, что ваш View-pager и NestedScrollView перекрываются раньше, чем вы используете Linear Layout . Таким образом, это происходит один за другим, но теперь в Relative Layout оно перекрывается. Используйте атрибут layout_below

0 голосов
/ 11 сентября 2018

прямо сейчас ваш вложенный вид прокрутки и ваш пейджер представления - это всего лишь две отдельные вещи, которые перекрывают друг друга, и вы не уверены, хотите ли вы, чтобы ваш пейджер представления находился внутри вашего вложенного представления прокрутки, или если вы хотите, чтобы вложенная прокрутка находилась внутри вашего пейджера представления, так что я покажет вид внутри вложенного свитка

<RelativeLayout 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.v4.widget.NestedScrollView
        android:id="@+id/singleScroll"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v4.view.ViewPager
        android:id="@+id/singleSlider"
        android:layout_width="match_parent"
        android:layout_height="@dimen/slider_height"
        android:background="@color/colorPrimaryDark" />

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

</RelativeLayout>

затем, когда вы вызываете прокрутку

Вы также можете установить

android:fillViewport="true"

в представлении с вложенной прокруткой. Определяет, должно ли представление прокрутки растягивать свое содержимое для заполнения области просмотра.

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

0 голосов
/ 11 сентября 2018

NestedScrollView теперь выше (по оси Z) * ​​1002 *, поэтому ViewPager не получает события касания. Добавить

android:layout_below="@+id/singleSlider"

к вашему NestedScrollView.

...