在Android中的非Activity类中实现Canvas

时间:2011-08-26 06:03:44

标签: android android-layout android-widget android-canvas

我正在开发一个扩展Map Activity类的项目。这个项目只能有这个活动。

我想实现Canvas,但是据我所知,它取决于Activity类,这已被证明是一个障碍。

我的查询是如何绕过此问题的? 有没有一种方法可以在画布上画出减去Activity类的内容? 欢迎任何想法。感谢

2 个答案:

答案 0 :(得分:0)

为什么要使用Canvas?

如果您使用的是Mapactivity,那么您必须使用MapView,这样您就可以使用地图叠加方法在MapView上绘制任何内容。

您可以在地图上绘制所有内容,如线条,圆形,图像......等等。

以下是如何在MapView上叠加的简单示例

1.Example

2.Example

3.Example

您还可以使用onTouch绘制方法..

答案 1 :(得分:0)

您可以像这样获得Canvas的实例:

Paint p = new Paint(); 
...
Bitmap bitmap = Bitmap.createBitmap(100, 100, Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawArc(new RectF(10, 10, 90, 90), 0, 270, false, p);

我在BroadcastReceiver中使用此片段而非活动,您可以看到我在其上绘制。