7

我正处于开发类似于“思维导图”程序(如 Thinking Space)的 android 应用程序的起点。它显示了一些图形节点(包含文本,可能是图像)和连接它们的边。我可以处理图形算法,但我对用于显示这些内容的 Android 组件有两个不确定点:

  1. 展开后的图表会非常大,因此用户需要能够垂直和水平滚动。我查看了 ScrollView 和 Horizo​​ntalScrollView 但它们不能同时垂直和水平滚动。所以我希望知道我应该使用哪个顶级容器。

  2. 我还希望图形可以通过捏合手势进行缩放,以便用户可以放大图形的一小部分。但我也希望图形节点是交互式的,因此用户可以点击它们,在其中输入文本并用手指移动它们。我应该将每个节点实现为单独的 View 对象吗?如果是这样,如何使所有节点一起缩放?

谢谢。

4

1 回答 1

2

对于这类事情,我肯定会依赖自定义视图,它们会给你比使用标准布局更多的自由和效率。

实现可滚动视图非常容易,如果您支持 API >= 8(请参阅 参考资料ScaleGestureDetector),实现捏合手势会容易得多。但是,使图形元素具有交互性和可编辑性将是另一回事。

更好的方法是创建一个自定义布局,它将承载可编辑的图形元素(自定义视图)并绘制它们的关系。它会更加优雅、干净、可扩展、可维护和可重用,但它需要更多的设计。但我相信它会得到很大的回报。

(这对我来说是一个雄心勃勃的项目,所以……祝你好运!)

于 2011-05-20T12:19:00.083 回答