Utworzono niestandardowy widok, rozszerzając widok. W onDraw() udało mi się narysować kilka okręgów i inne rzeczy. Ale teraz chcę dodać tło z zasobu (karty SD lub strumienia), które jest mapą pobraną z naszego serwera, a następnie narysować na niej. To dla Androida 8+Rysowanie tła niestandardowego widoku z pliku .png na urządzeniu z systemem Android
@Override
protected void onDraw(Canvas canvas) {
Canvas g = canvas;
String file = "/mnt/sdcard/download/tux.png";
Bitmap bg = null;
try {
bg = BitmapFactory.decodeFile(file);
g.setBitmap(bg);
} catch (Exception e) {
Log.d("MyGraphics", "setBitmap() failed according to debug");
}
}
Jakoś g.setBitmap (BG) utrzymuje upadających, nie spojrzał na specyfikacje graficznych, ale w rzeczywistości jest to tylko obraz tux (nr 24 bitowe kolory) formatu PNG. Czy ktoś może mi dać wskazówki, jak dodać obraz tła, aby móc go narysować? Dziękuję.
Martin, Dziękuję bardzo za ten czysty przykład. Dziwne, że już zrobiłem twój pierwszy przykład i jakoś nie zadziałało! Tam zacząłem się gubić. Drugi rozciąga się, aby zmieścić się w nieruchomościach widoku, dokładnie to było w końcu. Ale twój pierwszy podoba mi się znacznie lepiej, w ten sposób mogę ustawić zdjęcie bez zmiany jego rozmiaru. – AndaluZ
Kiedy wypróbujesz mój pierwszy przykład, dokładnie to, co nie działa? Wyjątek (jeśli tak, jaki wyjątek)? Nic nie zostanie narysowane na ekranie? Jakiej wersji Androida używasz? Czy możesz podać dokładny kod, którego używasz, ale który nie działa? –
To działa mój przyjaciel, z. Png, a także .jpg. Po twoim wpisie nadal grałem i próbowałem trochę zdjęć i odkryłem, że nie wszystkie pliki .jpeg działają. Kiedy używam małych zdjęć w formacie jpg, takich jak 50 KB, to działa, ale podczas korzystania z większych zdjęć w formacie jpg, takich jak 600 KB, tło staje się całkowicie białe. Nie wiem, czy ma to związek z rozmiarem obrazu, ponieważ te, które nie działają, mają znacznie większy rozmiar niż nieruchomość mojego widoku. Użycie funkcji setBackgroundDrawable() działa, ale zmniejsza się również do rozmiaru nieruchomości View. – AndaluZ