我是 Android 新手。我正在开发一个项目,我将在其中获取 radio 信号值(我可以从 API 获取值)。我有一个平面图。平面图有厨房、大厅、卧室部分。如果我单击厨房部分,我需要在该部分放置一个带有 radio 信号值的图钉图像。单击“保存”后,我需要锁定该特定部分中的图像(带有值)。同样,我可以根据需要放置许多 Pin 图片。
请给我一些相关链接或示例代码来开发这个。我已附上图片供您引用。任何帮助将非常感激。
最佳答案
一种方法是使用 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 应该在创建/初始化矩阵中,这样就不会在每次调用 onDraw 时调用它们。参见 http://developer.android.com/training/custom-views/custom-drawing.html想要查询更多的信息。
对于单击图钉,您会在包含 Canvas 的布局上点击并有条件地添加额外的可绘制对象和文本。
另一种方法是使用 RelativeLayout 并放置 ImageView,其工作方式类似。
关于java - 如何在 android 中的图像上放置图钉标记图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29014212/