Android - 将视图中心与 RecyclerView 中最后一个孩子的中心对齐
Posted
技术标签:
【中文标题】Android - 将视图中心与 RecyclerView 中最后一个孩子的中心对齐【英文标题】:Android - Align view center with center of last child in RecyclerView 【发布时间】:2021-08-08 20:47:25 【问题描述】:我的问题和这个类似:
android - Align view center to bottom of other view
但 id 在一个重要的细节上有所不同。我不想将视图以RecyclerView
的结尾为中心,而是以 最后一个子视图 为中心。所以我不能只使用:
app:layout_constraintStart_toEndOf="@+id/recycler_view"
app:layout_constraintEnd_toEndOf="@+id/recycler_view"
这种情况有解决办法吗?
【问题讨论】:
可能您必须使用具有不同 itemTypes 的 recyclerview,检查此链接,可能会有所帮助***.com/a/26245463/2931124 您确实说的是ConstraintLayout,所以问题是RecyclerView 还是水平或垂直方向。? @Cheticamp 水平方向 所以 RecyclerView 项目左右滑动。当顶部/右侧项目移动时,自定义视图会发生什么?它是随它移动还是留下来? (我假设它会留下来。) 如果你对项目的宽度与 RecyclerView 的宽度之间的关系有一定的了解,例如“RecyclerView 的宽度总是每个项目宽度的四倍”,那么你可以可能在 XML 中做一些事情。如果没有,那么您将需要进行一些编码以放置指南或类似的东西。 【参考方案1】:只需将您想要的最后一个视图放在 recycle_list_item.xml 的中心,因为在这里您可以将 lastView 垂直居中对齐。 然后在 onBindViewHolder() 中做一些逻辑
@Override
public void onBindViewHolder(@NonNull BusStopViewHolder holder, int position)
if(position==viewList.size()-1)
holder.lastView.setVisibility(View.Visible);
else holder.lastView.setVisibility(View.Gone);
【讨论】:
以上是关于Android - 将视图中心与 RecyclerView 中最后一个孩子的中心对齐的主要内容,如果未能解决你的问题,请参考以下文章
使用 android studio java Recycler 视图从 Firebase 实时数据库中删除一个节点
Android - 为啥 Recycler 视图未显示在设备上? .我认为我的代码是正确的,但视图没有显示
无法从firebase数据库android,recycler视图中检索数据
在Recycler视图上添加图像视图时,Android导航抽屉动画滞后/减速