我有一个回收站视图,从屏幕顶部开始一直到屏幕底部。 屏幕底部还有一个视图,隐藏了回收站视图的最后一项。
我希望回收者视图滚动更多一点,直到底部元素的顶部。因此,最后一项可能是可见的。
我知道,就像我可以在回收者视图的列表末尾添加一些虚拟的空项目一样。但是我不想打扰回收者视图中的项目数量。 我是否应该调整回收器视图最后一项的高度,以使其内容位于底部元素上方?
任何人都有更好的主意。 最好的方法是什么?
答案 0 :(得分:1)
我得到了答案。 需要在recyclerview中设置
android:clipToPadding="false"
android:paddingBottom="the bottom padding needed"
答案 1 :(得分:0)
请勿将回收者视图的高度设置为 match_parent 。使用“相对布局”并相对于视图(要在屏幕底部添加的视图)更改recycler vie的属性。 例如。 Layout_above
OR 您可以简单地使用ScrollView滚动整个视图。
<ScrollView
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:fillViewport="true"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<RelativeLayout>
</RelativeLayout>
</ScrollView>
答案 2 :(得分:0)
使布局的根视图为ScrollView: 像这样:
<ScrollView>
<LinearLayout>
<RecyclerView/>
<TheItemsYouWantToSee/>
</LinearLayout>
</ScrollView>
您可以使用其他容器来代替LinearLayout:CoordinatorLayout,Constraint ...,用于将项目包装在滚动视图中
答案 3 :(得分:0)
添加您的recyclerview以及要保留在这样的RelativeLayout中的底视图-
<RelativeLayout>
<RecyclerView/>
<YourAnotherView/>
</RelativeLayout>
然后,将layout_above
属性添加到RecyclerView。此属性将始终使recyclerview保持在底视图上方。
答案 4 :(得分:0)
虚拟视图正常工作。更重要的是,它不会太混乱。只需添加糊状假人,您需要使其在View
之上,并使其在onBindViewHolder
的开头不可见
override fun getItemCount(): Int {
//two more items (invisible) for end of the list
return list.size + 2
}
以及在填充项onBindViewHolder
if(position >= list.size) {
holder.item.visibility = View.INVISIBLE
return
} else
holder.item.visibility = View.VISIBLE