当前位置 : 主页 > 手机开发 > android >

Android中网格的二维滚动

来源:互联网 收集:自由互联 发布时间:2021-06-11
到目前为止,我已经尝试使(可能是无限的)网格滚动而没有成功.我在渲染一个不在屏幕上的GridView时遇到了麻烦.这就是为什么我想问一下 android中是否还有其他组件可用于此任务? 根据您
到目前为止,我已经尝试使(可能是无限的)网格滚动而没有成功.我在渲染一个不在屏幕上的GridView时遇到了麻烦.这就是为什么我想问一下 android中是否还有其他组件可用于此任务?

grid to scroll in Android

根据您的要求,它看起来像一个类似于桌子的RecyclerView,无限滚动任何一些2D游戏引擎(如果它值得为此功能带来它)可能是一个最佳的解决方案.

RecyclerView

如果您只想存储一些对象(图形或非图形 – 如果您可以将它们打包到单元格中并不重要),您可以使用某种带有扩展的RecyclerView适配器进行无限滚动.

这样您就可以使用视图回收机制来节省一些内存.使用详细的通知机制(如项目移动/删除),您甚至可以在对象移动时添加一些动画.

除了像evrencoskun/TableView这样的建议解决方案之外,我建议一眼看看GridLayoutManger如何整体运作的方式,这里是the first post out of three,对RecyclerView及其LayoutManagers的工作原理进行了相对深入的回顾,这样你就可以为你量身定制更轻量级的解决方案.特殊案例.有一个simple demo app,“固定双向列表”和“大网格”选项可能会让你知道将要建立什么.您将需要扩展它以使用无限列表,但是当您了解内部时,它应该更简单.

2D引擎

如果想要在任意大小的磁贴上放置一些图形并且该功能是您的应用程序的核心,那么考虑使用像libdx这样的2d引擎可能是个好主意.他们有很多例子如何使用它,但当然它会花费你一些存储空间和时间来学习它:libgdx wike

自己的解决方案

如果两者都不符合您的需求,我想,您必须从头开始找到自己的解决方案.不要忘记优化它,因为Android中的每一个无限的东西,特别是绑定到图形,可能很容易导致内存不足错误.

网友评论