我有一个需求,需要在recycler view中实现水平和垂直滚动。这取决于从服务器传来的数据类型。如果服务器的响应以数组形式传递第一个元素,则需要将其显示在水平滚动列表中;如果第二个元素是单个对象,则需要将其显示在卡片中。类似地,顺序变化应该反映在UI中。我该如何实现这个功能。
我有一个需求,需要在recycler view中实现水平和垂直滚动。这取决于从服务器传来的数据类型。如果服务器的响应以数组形式传递第一个元素,则需要将其显示在水平滚动列表中;如果第二个元素是单个对象,则需要将其显示在卡片中。类似地,顺序变化应该反映在UI中。我该如何实现这个功能。
LayoutManager
是负责在 RecyclerView
中布局视图的类。如果您想要改变布局,请更改 recyclerView.setLayoutManager(LayoutManager)
。在您的情况下,如果您使用 LinearLayoutManager
,则可以通过调用以下方法来实现:
LinearLayoutManager layoutManager = ...
recyclerView.setLayoutManager(layoutManager);
//when you want horizontal
layoutManager.setOrientation(context, LinearLayoutManager.HORIZONTAL);
//when you want vertical
layoutManager.setOrientation(context, LinearLayoutManager.VERTICAL);