Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 打一个「;“多行”;回收视图_Android_Android Recyclerview - Fatal编程技术网

Android 打一个「;“多行”;回收视图

Android 打一个「;“多行”;回收视图,android,android-recyclerview,Android,Android Recyclerview,因此,通常情况下,RecyclerView是水平或垂直的,如下图所示: 我没有问题生产以上两个。但是现在,我想做一个RecyclerView,它是“多行”-ey(我不知道这是否是一个正确的命名方式)。基本上,就像在记事本中一样,如果选中“包装文本”,屏幕外的文本将发送到下一行 因此,该行为类似于HorizontalRecyclerView,但在进入下方之前,项目将首先水平填充 假设子项的每个大小都相同,将其置于屏幕中心也是一件好事 类似于: 但不喜欢(它不在屏幕中央): 顺便说一句,我更喜

因此,通常情况下,
RecyclerView
是水平或垂直的,如下图所示:

我没有问题生产以上两个。但是现在,我想做一个
RecyclerView
,它是“多行”-ey(我不知道这是否是一个正确的命名方式)。基本上,就像在记事本中一样,如果选中“包装文本”,屏幕外的文本将发送到下一行

因此,该行为类似于
HorizontalRecyclerView
,但在进入下方之前,项目将首先水平填充

假设子项的每个大小都相同,将其置于屏幕中心也是一件好事

类似于:

但不喜欢(它不在屏幕中央):


顺便说一句,我更喜欢我的收藏由
RecyclerView
管理,而不是
TableLayout
,因为我以前从未使用过
TableLayout
,而且
RecyclerView
似乎是重用收藏布局最有效的方法。

设置
GridLayoutManager
用于
RecyclerView

mRecycler.setLayoutManager(new GridLayoutManager(context, numberOfColumns));

参考:,

有3种可能的方法可以安排您的RecyclerView布局

  • LinearLayoutManager–用于传统列表
  • GridLayoutManager–用于表视图
  • 交错网格布局管理器-交错网格形成

对于您的问题,您可以使用@Ravi回答的
GridLayoutManager

mRecycler.setLayoutManager(new GridLayoutManager(context, numberOfColumns));

要动态更改列数,您可以参考

是否希望在布局的网格类型中显示recyclerView的项?那么@Ravi的答案是正确的。有什么方法可以动态设置列数吗?就像垂直和水平
RecyclerView
一样,它可以动态地“调整”屏幕大小。在这种情况下,您可以找到屏幕大小,并根据需要执行自己的逻辑。例如,如果单元格大小为200,屏幕大小为800,则可以有3列或4列