安卓2D图形库

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

enter image description here

在我的情况下,可能有数百个空间分布的对象。这个视图将像地图一样运行,因此用户可以水平和垂直滚动,缩放和缩小。它还需要点击事件处理,以便用户能够单击任何三角形,然后我应该显示与该特定三角形相关的扩展信息。

我主要关注以下3个问题:

  • 如果我在我的onDraw()处理程序中重新绘制所有对象,那将非常慢。此外,当我不需要绘制所有这些对象时也存在这种情况,因为某些对象根据缩放级别和滚动位置不可见。这需要使用四叉树,但我不想手动实现。
  • 所有这些对象都定义为(x,y,rotation,type),因此如果客户决定我们需要“显示全部”按钮,我需要实现计算边界框的功能。
  • 我需要能够处理所有这些形状的单击事件和(可能)拖动。

是否有任何库可以帮助我完成这些任务?只是不想花费3天时间去处理我相信已经完成的任务。

1个回答

2
android.graphics包中Canvas类的所有方法都应该足够使用。 Canvas可以进行裁剪(即如果不可见,则绘制命令将被丢弃),因此如果图像是静态的,则可以将其渲染到Picture中并在onDraw()上绘制它。
我认为绘制方法有计算边界并返回它们的方法。请参见PathcomputeBounds(RectF bounds, boolean exact)方法。

这是一种非常糟糕的方法,但因为我找不到其他解决方案,所以只能使用它 :-( - Andrey Agibalov
1
抱歉,我无法为您提供除整个游戏引擎之外的库来完成您所需的功能。Canvas在优化绘图调用方面做得非常好,主要瓶颈几乎总是填充限制。 - Jasoneer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接