适用于Android的2D图形库

时间:2011-12-14 06:08:10

标签: java android 2d

我正在开发一个需要带有大量对象的2D图形视图的Android应用程序。这是我基本上需要展示的内容:

enter image description here

就我而言,可能有数百个空间分布的对象。此视图的行为类似于地图,因此用户可以水平和垂直滚动,放大和缩小。它还需要单击事件处理,因此用户可以单击任何三角形,然后我应该显示与该特定三角形相关的一些扩展信息。

我最关心的是三件事:

  • 如果我在onDraw()处理程序中重新绘制所有对象,那将非常慢。此外,我甚至不需要绘制所有这些对象,因为根据缩放级别和滚动位置,它们中的一些是不可见的。这些需要使用我不想手动实现的四叉树。
  • 所有这些对象都被定义为(x,y,旋转,类型),所以如果客户决定我们需要一个"显示全部"按钮,我必须实现计算边界框的功能。
  • 我需要能够处理点击事件并(可能)拖动所有这些形状。

是否有任何图书馆可以帮助我完成这些任务?我不想花3天时间做我认为必须已经实施的东西。

1 个答案:

答案 0 :(得分:2)

Canvas包的android.graphics类中的所有方法都应该足够了。 Canvas执行裁剪(意味着绘图命令如果不可见则会被丢弃),因此如果图像是静态的,您可以将其渲染为Picture并在onDraw()上绘制。

我认为绘图方法有计算边界并返回它们的方法。请参阅Path的{​​{1}}。