我有一个<code>滚动视图,其中包含一个垂直<code>线性布局
这是一个地方,我在这里添加了一些称为“Section”的视图。“Section”是一个线性布局,
,其中包含文本视图
和`RecyclerView'。
<ScrollView
android:id="@+id/main_scrollview"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/sections_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
</ScrollView>
部分:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:textSize="@dimen/activity_starred_title_textsize" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
问题是,RecyclerView
有时并不是真正的wrap_content
。因此,它创建了两种类型的问题(取决于我尝试使用的解决方案类型)。
> < li>
它可以是不可滚动的(因此它与屏幕高度匹配,我不能向下滚动它来查看里面的其余项目)。
它可以嵌套滚动。
最初的问题是它有嵌套滚动。所以我希望RecyclViews
像简单的垂直LinearLayout
一样,唯一必须具有滚动效果的是rootScrollView。
我试过做什么?
>
扩展GridLayoutManager
并覆盖canScrollVerally()。
方法:
公共布尔canScroll垂直(){返回false;}
扩展 RecyclerView
类并重写
@Override public boolean onInterceptTouchEvent(MotionEvent event){ return false; }
@Override public boolean onTouchEvent(MotionEvent event){ return false; }
在可能的情况下,通过xml
随时随地禁用NestedScrolling
。
使用此解决方案覆盖 GridLayoutManager
:解决方案
接下来的解决方案是:1. 使用 NestedScrollView 2。Override GridLayoutManager.canScrollVertally():
public boolean canScrollVertically(){ return false; }
不要在 ScrollView 中使用 RecyclerView
或 ListView
。对于嵌套滚动,您应该使用
嵌套滚动视图
。
< code>NestedScrollView就像< code>ScrollView,但它支持在新版本和旧版本的Android上同时充当< code >嵌套滚动父级和子级。默认情况下,嵌套滚动是启用的。
解决方案:
1. 不要使用 ScrollView
,而是使用 NestedScrollView
作为 Section
part(RecyclerView
和其他视图)
的容器。
<android.support.v4.widget.NestedScrollView
android:id="@+id/main_scrollview"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/sections_layout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- Your Section:: RecyclerView and other Views -->
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
2.对于滚动问题,请使用< code > setNestedScrollingEnabled(false)到您的< code>RecyclerView。
我正在尝试实现一个布局,它在同一布局中包含RecyclerView和ScrollView。 布局模板: 问题:我可以滚动到的最后一个元素 我尝试过的事情: 中的 卡片视图(现在包含)-可以查看卡片直到 最初的想法是使用而不是使用来实现这个,后者的视图类型之一是,但我得到的结果与使用完全相同
我正在使用最新的支持设计(),23.2版本中的支持设计应该已经解决了ScrollView内部的RecyclerView问题。RecyclerView和ExpandableListView滚动都能很好地工作。但是当ExpandableListView太长时,我希望能够向上滚动布局,以便可以看到其余部分时,scrollview就无法工作。 片段: xml:
在< code>NestedScrollView的末尾有一个< code > endlesscrecyclerview 。< code>EndlessRecyclerView表示:当用户滚动到RecyclerView的底部时,它会加载更多数据。这已经在其他地方实现并运行了,但是当我将recyclerView放入< code>NestedScrollView时,< code>OnScrollList
我试图在滚动视图中显示水平的recyclerview项和垂直的recyclerview项 即使我使用android:fillViewport=“true”,Scrollview也无法工作
我试图在ScrollView中有一个RecyclerView。我的问题是,当我滚动RecyclerView时,这并不“平滑”:一旦你松开手指,滚动就会立即停止。 我在片段中的布局是: 滚动视图 线性布局 文本视图 回收r查看 按钮 我尝试禁用嵌套滚动: 以及mRecyclerView的包装内容: 获得我想要的平滑滚动,但通过这种方式,RecyclerView的高度比它应该的要小(并且它不再滚动,所
我在ScrollView中有一个这样的RecyclerView: 的项目是一个,其中有一个和其他视图。该和的都是。用户可以在没有任何长度/行限制的情况下输入到该中,以便每个项目的高度都不同。 然后我发现中的返回真值,但调用的时间错误(少于应有的时间),因此不足以显示所有项目。 我发现只有当我编写了时才会发生这种情况。但是我不能删除这一行。因为如果我这样做了,将无法流畅滚动,并且与和本身内的其他视图