我想在MapView
上显示一些位置。这些位置将显示将具有数字1,2,3等的引脚(类似于Google地图结果,但它是A,B,C ..)。我认为拥有所有数字的引脚是不可行的。
有没有什么方法可以创建一个带有TextView
引脚背景的布局,我会动态地将数字放在TextView
中,那个布局会被用作可绘制引脚?
或任何其他方法来实现这一目标?请提供一些建议。
(我可以在MapView
上显示不同的可绘制引脚。我只是想动态创建drawables)
答案 0 :(得分:5)
解决了这个问题。
使用引脚背景使TextView膨胀,并将位置动态设置为TextView。
public Drawable createFromView(int positionNumber)
{
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.drawable.pin_icon, null, false);
TextView tv = (TextView) view.findViewById(R.id.pin_background);
tv.setText(" "+ (positionNumber+1) ); // +1 since position is starting from 0
tv.setDrawingCacheEnabled(true);
tv.layout(0, 0, 50, 50);
tv.buildDrawingCache();
Bitmap b = Bitmap.createBitmap(tv.getDrawingCache());
tv.setDrawingCacheEnabled(false);
Drawable d = new BitmapDrawable(b);
return d;
}