我是Android新手。我正在开发一个项目,我将获得无线电信号值(我可以从API获取值)。我有一个平面图。平面图有厨房,大厅,卧室部分..如果我点击厨房部分,我需要在该部分放置一个带有无线电信号值的Pin图像。单击“保存”后,我需要锁定该特定部分中的图像(带有值)。同样,我可以根据要求放置许多Pin图像。
请给我一些相关的链接或示例代码来开发它。我附上了图片供您参考。任何帮助将非常感激。
答案 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