【问题标题】:Android: connecting items with lines within gridviewAndroid:在gridview中用线条连接项目
【发布时间】:2012-06-27 18:21:51
【问题描述】:

有没有办法将 GridView 中的项目与背景中的线条/箭头连接起来?

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

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

[问题]:Android: network relationship graph 更详细地描述了我的问题。

【问题讨论】:

  • 你有没有想过这个问题,有没有答案帮助你???
  • 不,我没有及时想出解决方案,所以我当时只使用了没有背景的GridView。现在我的考试结束了,实际上我必须再次继续工作,我决定完全放弃这种方法,因为我既无法正确获得位置也无法获得正确的尺寸。我现在将尝试使用自定义 SurfaceView 并实现我自己的滚动和单击。不过我才刚刚开始调查此事。

标签: android gridview draw items


【解决方案1】:

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

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

这是我想开始的地方。

也看这里:

Draw background of custom View from .png file on Android

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

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

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

【讨论】:

  • 非常感谢您的回复,我会调查的。一个问题是我仍然必须知道项目的位置才能在它们之间绘制箭头。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-16
  • 2011-07-11
  • 1970-01-01
  • 2011-09-24
  • 1970-01-01
  • 2016-12-15
  • 1970-01-01
相关资源
最近更新 更多