有没有办法将GridView中的项目与行/箭头连接,最好是在后台?
我在GridView中有一定数量的项目(按钮),并且必须根据数据库的数据将某些按钮与其他按钮连接。
GridView很可能比屏幕大,因此包含线条/箭头的视图必须同时使用GridView滚动。
[问题]:Android: network relationship graph以更详细的方式描述了我的问题。
答案 0 :(得分:1)
如果是我,我会考虑定义一个布局作为"背景" gridview的对象。布局将是一个单独的相对布局,其自定义视图在两个维度上填充父级。
在这个自定义视图中,我会覆盖" onDraw"方法和所有适当的构造函数在单一画布上执行箭头绘制,这应该是gridview的确切大小!
这是我想要开始的地方。
另见:
Draw background of custom View from .png file on Android
因为它显示了如何设置视图的backgroundDrawable。如果您将自定义视图实现为可绘制视图,那么您应该能够创建一个新视图并将其发送到网格视图的背景绘制中。
要使其与实际网格数据一起滚动,您可能需要稍微玩一下,gridview的大小是您正在显示的DataSet的完整大小,并在其他滚动视图中包含它以完成此操作。
我在我的应用程序中有一个gridview,我实现了一个水平滚动视图(因为我在顶部有按钮,允许我按任何列排序,并希望那些始终可见,并且gridview垂直滚动下面)。这为我创建了gridview的整体宽度,因为它简单地跟随父宽度,该宽度包裹定义顶部按钮的线性布局的内容。然后,网格视图在垂直方向上自动滚动,使更高级别的水平滚动条在水平方向上执行。对于您来说,您可能需要在水平滚动条中使用垂直滚动条,并允许您的网格视图为完整大小(即大于内容视图区域)并允许外部滚动条为您执行滚动操作。这可能是确保您的背景可绘制视图与您要显示的表格大小相同的唯一方法!!!