当我向下滚动时,除非我从上面的布局开始触摸,否则RecyclerView
上方的项目不会滚动,并且只有在到达RecyclerView的末尾时才向下滚动。
<NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout>
<Some other items.../>
</LinearLayout>
<RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</NestedScrollView>
注意: 实际上,我为RecyclerView使用了固定大小,并通过以下代码对其进行了设置:
float height_recyclerview = (ScreenUtil.getHeight(context) - (height_banner + height_bottom_navigation + height_create_post));
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, (int) height_recyclerview);
rv.setLayoutParams(layoutParams);
为什么,如果固定尺寸与wrap_content
配合使用,我可以使用固定尺寸吗?
RecyclerView
位于
NestedScrollView
我尝试了以下操作:
什么我要修复?
我想使页面像单个页面一样滚动,而不是作为单独的可滚动视图。
请注意,我的回收站视图具有固定的高度,占据了整个屏幕的空间,这意味着它的高度实际上是合适的,假设如果用户向下滚动,则上面的线性布局也不再可见。
理想的方案是首先使滚动视图向下滚动,以使回收站视图占据整个屏幕,以便回收站视图可以根据用户的意愿滚动。
然后,如果“回收者”视图已占据屏幕的所有空间,则上方的线性布局将不再可见,如果用户不断向上滚动,则仅在“回收者”视图已到达顶部/第一项时才会显示
答案 0 :(得分:0)
将app:layout_behavior="@string/appbar_scrolling_view_behavior"
添加到您的回收站xml中。
<android.support.v7.widget.RecyclerView
android:id="@+id/conversation"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
答案 1 :(得分:0)
NestedScrollView平滑滚动
recyclerView.isNestedScrollingEnabled = true
以编程方式执行
<androidx.core.widget.NestedScrollView 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="0dp"
android:fillViewport="true"
...