LinearLayout внутри SwipeRefreshLayout не работает

У меня есть эта структура XML:

<ScrollView>
  <RelativeLayout>
   ..........
     <SwipeRefreshLayout>
        <LinearLayout/>
     </SwipeRefreshLayout>
          .....
  </RelativeLayout>
</ScrollView>

Я пытаюсь реализовать SwipeRefreshLayout для LinearLayout, но мой LinearLayout исчез. Я уже пытался поместить LinearLayout в ScrollView, но он все равно не появляется. Я также не могу удалить основного родителя. Мне надо. Кто-нибудь знает, как я могу это реализовать?


person K. Jor    schedule 08.05.2018    source источник


Ответы (1)


  • Используйте NestedScrollView вместо < сильный>ScrollView.
  • Добавьте RelativeLayout в качестве дочернего представления вместо LinearLayout.

NestedScrollView похож на ScrollView, но поддерживает работу как вложенного родителя с прокруткой, так и дочернего элемента как в новых, так и в старых версиях Android.

ДЕМО

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true">

          <RelativeLayout>
        .....
person IntelliJ Amiya    schedule 08.05.2018