Czy istnieje inny sposób narysowania obiektu na płótnie w systemie Android?Rysuj obiekt/obraz na płótnie
Ten kod wewnątrz draw() nie działa:
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pushpin);
canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null);
No faktycznie, że to działa na moim 1 kodu, ale kiedy już to przeniesione do innej klasy zwanej MarkOverlay, nie działa już.
markerOverlay = new MarkerOverlay(getApplicationContext(), p);
listOfOverlays.add(markerOverlay);
Jaki parametr należy przekazać do MarkerOverlay, aby ten kod zadziałał? Błąd znajduje się gdzieś w getResources().
FYI, canvas.drawOval działa doskonale, ale naprawdę chcę narysować obrazek, a nie owal. :)
Musisz zwolnić danych bitmapy z Bitmap.recycle() albo można dostać paskudny wyciek pamięci: tworzenie nowej bitmapy w każdym cyklu rysowania. –
Nie dekoduj obrazu w onDraw - wykonaj tak wiele operacji podnoszenia poza pętlą renderowania. – slott