【问题标题】:View inside scrollview doesn't scroll while scrolling recyclerview滚动recyclerview时,滚动视图内的视图不滚动
【发布时间】:2019-09-08 18:35:34
【问题描述】:

我有一个包含很多帖子的回收站视图。当我滚动 recyclerview 时,我的框架布局不滚动。它像导航栏一样固定。 我希望它像 recyclerview 的一部分一样滚动。 这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
    tools:context=".HomePageFragment">

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

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

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/recycler"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            ></androidx.recyclerview.widget.RecyclerView>

   </LinearLayout>
</ScrollView>

我尝试使用nestedScrollView,但它添加了额外的空帖子。我不知道为什么。

我的 frameLayout 是状态部分。这是另一个recyclerview本身。滚动帖子时,状态部分不会滚动。

【问题讨论】:

  • 任何截图都会有所帮助
  • 你所说的状态部分是什么意思?死水池圈?
  • 是的,那些死胡同。他们在帖子的顶部
  • 你想让他们随着帖子垂直滚动吗?
  • 是的,就是这样

标签: android android-recyclerview scrollview


【解决方案1】:

为了使状态部分与回收站视图中的帖子一起滚动,状态部分也应该是回收站视图中的一个项目,因此在这种情况下您需要recyclerview with multiple view typesPlase read: How to create recyclerview with multiple view types.

只需删除 Framelayout 即可,当使用具有多种视图类型的回收器视图时,这是不必要的。

小幅改进

删除不必要的外部scrollview,因为默认情况下recyclerview是可滚动的。

编辑

为了使状态部分可以水平滚动,状态部分项布局应包含recyclerview 其中LinearLayoutManager orientation set to horizontal. 记得为水平回收视图实现适配器类。

为了让您开始使用具有多种视图类型的 recyclerview,您可以查看this tutorial


在这种情况下,您也可以使用 Epoxy 之类的库。

【讨论】:

  • 状态部分是另一个水平滚动的recyclerview。而帖子部分垂直滚动。可以使用您的建议吗?
  • 是的,它可能,更新了答案。如果您满意,请确保投票并接受答案。你可以看看this tutorial
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-09
  • 1970-01-01
  • 2016-09-15
  • 1970-01-01
  • 2016-11-02
  • 2020-08-18
  • 2013-07-25
相关资源
最近更新 更多