1

有没有办法将 GridView 中的项目与线/箭头最好在后台连接?

我在 GridView 中有动态数量的项目(按钮),并且必须根据数据库的数据将某些按钮与其他按钮连接起来。

GridView 很可能比屏幕大,因此包含线条/箭头的视图必须与 GridView 同时滚动。

[问题]:Android:网络关系图更详细地描述了我的问题。

4

1 回答 1

1

如果是我,我会考虑定义一个布局用作gridview 的“背景”对象。该布局将是一个具有自定义视图的单个相对布局,该视图在两个维度中都填充父级。

在这个自定义视图中,我将覆盖“onDraw”方法和所有适当的构造函数,以在单个画布上执行您的箭头绘制,该画布现在应该是您的 gridview 的确切大小!

这是我想开始的地方。

也看这里:

在 Android 上从 .png 文件绘制自定义视图的背景

因为它显示了如何设置视图的 backgroundDrawable。如果您将自定义视图实现为可绘制,那么您应该能够创建一个新视图并将其发送到网格视图的背景可绘制对象中。

要使其与您的实际网格数据一起滚动,您可能需要稍微调整一下 gridview 的大小,使其成为您正在显示的 DataSet 的完整大小,并将其包含在其他滚动视图中以完成此操作。

我的应用程序中确实有一个 gridview,我实现了一个水平滚动视图(因为我在顶部有按钮,允许我按任何列排序并希望这些列始终可见,并且 gridview 在下方垂直滚动) . 这为我创建了 gridview 的整体宽度,因为它只是遵循父宽度,它包装了定义顶部按钮集的线性布局的内容。然后,gridview 会在垂直方向上自动滚动,让更高级别的水平滚动条在水平方向上执行。对您而言,您可能需要在水平滚动条内有一个垂直滚动条,并允许您的 gridview 为全尺寸(即大于内容视图区域)并允许外部滚动条为您执行滚动。

于 2012-06-27T18:31:01.130 回答