如果一行在android kotlin中的列数较少,如何将网格布局中的项目移动到中心?
Posted
技术标签:
【中文标题】如果一行在android kotlin中的列数较少,如何将网格布局中的项目移动到中心?【英文标题】:How to move items in a grid layout to center, if a row has less number of colums in android kotlin? 【发布时间】:2022-01-18 14:50:47 【问题描述】:这不是网格布局,我使用自定义视图来创建它。谁能帮我用 gridview 创建这个。 GridLayout 甚至可以做到这一点吗?
【问题讨论】:
如果想在一个视图中不使用任何页脚,我认为可以使用 RecyclerView 和自定义 GridLayoutManager 实现此行为 【参考方案1】:这可能通过GridLayoutManager
实现,也可能不实现,但没有直接的解决方案可以使用GridLayoutManager
来实现。我建议你在这里看看 Flexbox 布局管理器:
https://github.com/google/flexbox-layout
这是来自 Google,您可以使用它轻松完成您想要的事情。您可能需要稍微尝试一下这些属性,但我认为可以使用 justifyContent
属性来完成。
粗略的代码 sn-p 类似于
RecyclerView recyclerView = (RecyclerView) context.findViewById(R.id.recyclerview);
FlexboxLayoutManager layoutManager = new FlexboxLayoutManager(context);
layoutManager.setFlexDirection(FlexDirection.ROW);
layoutManager.setJustifyContent(JustifyContent.SPACE_AROUND);
recyclerView.setLayoutManager(layoutManager);
【讨论】:
谢谢。这很棒。但是我们如何将最大列设置为 4 @KalyanRevuru 我认为这可能与您当时想要的相反。您可能需要进行一些搜索,因为如果 fix 具有固定列长度,则它与GridLayoutManager
相同。我不确定这一点,但除非您想编写自己的自定义视图,否则将项目 FlexboxLayout
隔开是唯一的方法。【参考方案2】:
您可以添加页脚布局并将其他项目传递给它。
【讨论】:
以上是关于如果一行在android kotlin中的列数较少,如何将网格布局中的项目移动到中心?的主要内容,如果未能解决你的问题,请参考以下文章