首页 文章

使用居中物品填写recyclerview [关闭]

提问于
浏览
1

在我的应用程序中,我使用LinearLayoutManager进行水平回收查看 . recyclerview由Relative布局包围,其宽度为match_parent . 我从API获取数据并填充recyclerview . 如果API响应返回单个数据项,我需要在recyclerview的中心显示该项 . 如果API响应返回两个项目,我需要为这两个项目平均分配recyclelerview的空间 . 如果API响应返回两个以上的项目,则项目之间应该具有相同的间隔 . 请参考以下屏幕截图:
enter image description here

我尝试过项目装饰和自定义布局管理器,但没有用 . 建议更好的解决方案 .

1 回答

  • 0

    您可以将 gravity 设为 center ,将 width 设为 match_parent . 这将使物品粘在中心,而如果存在多个物品,则会使物品从中心扩散 . 要使可点击区域保持相等,可以使用 LinearLayoutManager 作为recyclerView的布局管理器 .

    LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false); RecyclerView myList = (RecyclerView) findViewById(R.id.my_recycler_view); myList.setLayoutManager(layoutManager);

    对于recyclerView中使用的项目,您可以将宽度保持为 0dp ,并将 layout_weight 设为 1 . 所以在这里,所有项目都有相同的权重,帮助您实现目标 . 如果有效,请告诉我 .

相关问题