如何在android中的图像上放置引脚标记图像?

时间:2015-03-12 15:44:35

标签: java android canvas bitmap drawable

我是Android新手。我正在开发一个项目,我将获得无线电信号值(我可以从API获取值)。我有一个平面图。平面图有厨房,大厅,卧室部分..如果我点击厨房部分,我需要在该部分放置一个带有无线电信号值的Pin图像。单击“保存”后,我需要锁定该特定部分中的图像(带有值)。同样,我可以根据要求放置许多Pin图像。

请给我一些相关的链接或示例代码来开发它。我附上了图片供您参考。任何帮助将非常感激。

enter image description here

2 个答案:

答案 0 :(得分:4)

这样做的一种方法是使用canvas。

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    Bitmap map = BitmapFactory.decodeResource(getResources(), R.drawable.map);
    canvas.drawBitmap(map, xPositionForMap, yPositionForMap, null);

    Bitmap marker = BitmapFactory.decodeResource(getResources(), R.drawable.marker);
    canvas.drawBitmap(marker, xPositionFor1stMarker, yPositionFor1stMarker, null);
    canvas.drawBitmap(marker, xPositionFor2ndMarker, yPositionFor2ndMarker, null);
}

稍后在onDraw中绘制的内容会显示在之前绘制的内容之上。可能BitmapFactory.decodeResource应该在create / init mat hod中,因此每次调用onDraw时都不会调用它们。有关详细信息,请参阅http://developer.android.com/training/custom-views/custom-drawing.html

要点击图钉,您可以点击包含画布的布局,并有条件地添加额外的drawable和文本。

另一种方法是使用RelativeLayout并放置ImageView,它的工作方式类似。

答案 1 :(得分:2)

看看这个图书馆,这可能会对你有用ImageLayout