如何使用 GridLayoutManager 设置每行不同的列数

How to set different numbers of columns per row with GridLayoutManager

我有使用 RecyclerView 和 GridLayoutManager 的虚拟键盘,默认 spanSize 为每行 11 列。

英语和俄语键盘都有不同的模式,但是当我单击更改为英语键盘视图时,我需要将键盘设置为每行 9 列,而不是俄语键盘的每行 11 列。

如何以编程方式设置不同的列号?

无论你在哪里更新键盘布局,都写下:

RecyclerView recycler =
    (RecyclerView) view.findViewById(R.id.rv_keyboard_recycler_alpha);

recycler.setLayoutManager(new GridLayoutManager([context], [num columns]);

每次调用RecyclerView.setLayoutManager(),它都会简单地替换旧的布局管理器。只需设置一个新的布局管理器,您就可以轻松地在 11 列和 9 列之间切换。