使用居中的项目填充recyclerview

时间:2017-09-14 05:55:46

标签: android android-recyclerview

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

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

1 个答案:

答案 0 :(得分:1)

您可以将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。所以在这里,所有项目都有相同的权重,帮助您实现目标。如果有效,请告诉我。