2010-08-27 7 views

Odpowiedz

1

Bądź elastyczny. Android może być uruchamiany na wielu różnych urządzeniach i bardzo złym pomysłem byłoby ograniczenie się do pewnych rozdzielczości. Zamiast tego napisz swój kod, aby się skalował. (Pamiętaj, że możesz w razie potrzeby przyciąć obraz lub żyć z różnymi współczynnikami proporcji).

Podobnie jak jedzenie dla myśli ... są urządzenia z Androidem o rozdzielczości 480x320, 240x320, 480x800, 480x854, nie wspominając o nadchodzącym tablecie Samsunga w wyższej rozdzielczości. Ograniczenie się do określonej rozdzielczości byłoby złe.

Oto coś z SDK może chcesz przeczytać na zbyt: http://developer.android.com/guide/practices/screens_support.html

EDIT: Zakładając, że jesteś koncentrując się na tych dwóch rozdzielczościach - Powiedziałbym, że to zależy od obrazu. Najlepszym wyjściem może być uzyskanie rozdzielczości 480x854 i zaprojektowanie obrazu w taki sposób, aby nie wyglądał źle, jeśli stracisz 27 bajtów po każdej ze stron. Jeśli to niemożliwe, zrób 480x800 i dodaj czarne paski po obu stronach, jeśli działa na 480x854.

+0

Ponieważ mój telefon ma rozdzielczość 480 x 320, opracowałem grę dla tej rozdzielczości. Ale chciałbym także poprzeć inne rezolucje. Mam tła bitmap dla 480x320. Zamierzałem stworzyć większe wersje dla większych ekranów, aby nie musiały być skalowane. – Slapout

2

Istnieje kilka sposobów na zaatakowanie tego problemu.

Utwórz jedno tło dla każdego współczynnika kształtu i obliczyć, które z nich będzie używane podczas uruchamiania aplikacji. Znajdź współczynnik kształtu, dzieląc szerokość przez wysokość.

Wykonaj jedno tło z wypełniaczem po bokach i dole do kadrowania, gdy wyświetlasz obraz zmieniający rozmiar, który ma największą różnicę w porównaniu z rozdzielczością ekranu z dokładną rozdzielczością ekranu. Spowoduje to nieco przycięcie dna lub boków.

Można również użyć kombinacji tych strategii, aby utworzyć tło tła, po jednym dla różnych proporcji, a następnie użyć strategii przycinania, aby uzyskać nieznaczną różnicę.

0

możesz uzyskać dowolną bitmapę i przekonwertować ją do losowania za pomocą BitmapDrawable. Następnie możesz ustawić granice do losowania, aby dopasować tło ekranu.

0

Zrobiłem moją grafikę w tle 480x864, odpowiednik WQVGA w hdpie i tym samym tak duże, jak to tylko możliwe. Ponieważ pionowo wyśrodkowuję grafikę w tle, ładnie się wyświetla na QVGA, HVGA, WQVGA i WVGA, przycinając w większości przypadków. Aby upewnić się, że ważne elementy są zawsze widoczne, ograniczam je do obszaru 480x640 w środku.

Nie pozostawiając nic przypadkowi, zapewniam zmniejszoną wersję grafiki o tym samym współczynniku proporcji dla MDPI i LDPI. Działa jak dotąd świetnie.

Powiązane problemy