2011-06-28 24 views
5

我想在我的MapView上顯示一些位置。這些位置將顯示具有數字1,2,3等的引腳。等等(類似於Google地圖的結果,但它是A,B,C ..)。我認爲有所有數字的引腳是不可行的。如何在MapView上創建動態編號的針腳指針?

有沒有什麼辦法,我可以創建一個帶有背景的針腳背景TextView,我會動態地將數字放在TextView之內,而且這個佈局不適合用作可繪製針腳?

或者任何其他方法來實現這?請提供一些建議。

(我能夠在MapView。我表現出不同的繪製銷只想動態創建繪圖資源)

回答

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; 
} 
+0

這真的很棒,就是我一直在尋找的東西。你有沒有機會也有一個佈局xml文件的代碼片段? – kfox

+0

@kfox for R.drawable.pin_icon。它不過是一個包含一個TextView的線性佈局。線性佈局背景就是您的針腳。只需將TextView居中對齊即可。讓我知道你是否仍然需要它,我會提供給你。 – Harshad

+0

如果R.drawable.pin_icon是具有文本視圖的線性佈局。這是否意味着R.id.pin_background是一個包含引腳圖像的線性佈局? –