如何将recyclerview的项目居中?

新手上路,请多包涵

我需要将每一行中的元素居中,这样它们就会像这个样机一样。我一直在寻找是否有任何布局可以在没有外观的情况下以这种方式工作。项目在其行中居中。

小样

这就是它现在在我的代码中的样子。在此处输入图像描述

原文由 Cristian Gomez 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

通过以下方式实现:

 recyclerView.adapter = MyAdapter()
val layoutManager = FlexboxLayoutManager(context).apply {
    justifyContent = JustifyContent.CENTER
    alignItems = AlignItems.CENTER
    flexDirection = FlexDirection.ROW
    flexWrap = FlexWrap.WRAP
}
recyclerView.layoutManager = layoutManager

您需要将 FlexboxLayout 添加到您的 gradle 中:

 implementation 'com.google.android.flexbox:flexbox:3.0.0'

在此处输入图像描述

原文由 AskQ 发布,翻译遵循 CC BY-SA 4.0 许可协议

目前,我认为我们需要为它编写自己的自定义视图,因为 Android 还没有像我们预期的那样支持这个功能。

这是我制作的示例,以防有人需要它: https ://github.com/mttdat/utils

(通过调整 Manifest 文件尝试使用 CenterGridActivity.kt 以默认启动此活动)

原文由 Nguyen Tan Dat 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题