无法在嵌套滚动视图布局中滚动视图分页器

时间:2019-06-20 09:45:52

标签: android android-layout

我在嵌套滚动视图下有视图分页器和滑动刷新视图。它工作正常,但问题是视图分页器没有滚动,只有回收者视图在视图分页器下面滚动。我想滚动布局。

这是我下面的xml代码:

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

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Home"
android:orientation="vertical"
android:id="@+id/linearHome"
android:paddingBottom="16dp"
android:layout_marginTop="10dp"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:layout_marginBottom="50dp">

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

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


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="130dp"
        android:id="@+id/homeOffers"/>

    <android.support.design.widget.TabLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/indicator"
        app:tabGravity="center"
        app:tabIndicatorHeight="0dp"
        app:tabBackground="@drawable/tab_selector"/>

    <android.support.v4.widget.SwipeRefreshLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:id="@+id/refresh">

    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/recycle"/>

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

</LinearLayout>

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

</RelativeLayout>

SCREENSHOT

enter image description here

如在屏幕快照视图中所见,寻呼机固定在顶部,而回收站视图则在其下方滚动。我也想滚动查看寻呼机,请让我知道如何实现所需的布局。任何帮助将不胜感激。

谢谢

3 个答案:

答案 0 :(得分:0)

替换为您的recyclerView,

<android.support.v7.widget.RecyclerView
    android:id="@+id/recycle"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

在这里

app:layout_behavior="@string/appbar_scrolling_view_behavior"

将管理其余的事情。

答案 1 :(得分:0)

只需添加 app:layout_behavior="@string/appbar_scrolling_view_behavior"在您的 NestedScrollView 中即可滚动其子布局,也可以从删除 android:scrollbars="none" > NestedScrollView 。

答案 2 :(得分:0)

要滚动整个布局,我们需要在滑动刷新布局下包装嵌套的滚动视图,这将滚动整个布局。

更新的版式

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

<RelativeLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   tools:context=".Home"
   android:orientation="vertical"
   android:id="@+id/linearHome"
   android:paddingBottom="16dp"
   android:layout_marginTop="10dp"
   android:paddingLeft="12dp"
   android:paddingRight="12dp"
   android:layout_marginBottom="50dp">

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

<ImageView
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:id="@+id/nobook"
    android:src="@drawable/nobook"
    android:layout_centerInParent="true"
    android:visibility="gone"/>

<android.support.v4.widget.SwipeRefreshLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/refresh">

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/scroll"
    android:scrollbars="none"
    android:fillViewport="true">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="130dp"
        android:id="@+id/homeOffers"/>

    <android.support.design.widget.TabLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/indicator"
        app:tabGravity="center"
        app:tabIndicatorHeight="0dp"
        app:tabBackground="@drawable/tab_selector"/>


        <android.support.v7.widget.RecyclerView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/recycle"/>

      </LinearLayout>

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

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

</RelativeLayout>

谢谢