2013-01-10 29 views
5

Witryna Apple mówi, że iPhone 5 Display ma rozdzielczość 1136 na 640 pikseli przy 326 ppi. Ogólnie rozdzielczość jest praktycznie pisana (szerokość x wysokość). W przypadku iPhone'a 5 przypadek, w którym znamy 1136, to wysokość, a 640 to szerokość, gdy trzymamy telefon w trybie portretu.Rozwój aplikacji mobilnych - orientacja, rozdzielczość i szerokość/wysokość

Pracuję nad jednym projektem Android teraz mam mylić z tych rozwiązań mobilnych urządzeń. Moja aplikacja jest przeznaczona tylko dla portretu: 1280x720, 960x540, 960x540, 800x480, 1920x1080, 1280x720, 1280x720, 1280x720, 960x540, 960x540

moje pytania są następujące:

  1. Kiedy mówimy, 1136 x 640, co oznacza, szerokość x wysokość urządzenia w trybie poziomym - poprawne?

  2. Czy dobrze jest zaprojektować aplikację mobilną, której celem jest tylko jedna rozdzielczość 320 x 480 (tylko portret) i zmusić urządzenie do pracy w tej rozdzielczości 320x480? Biblioteka, której używam, obsługuje tryb stałej rozdzielczości i nazywa się ją "Rozdzielczością projektu", która akceptuje (wxh).

Odpowiedz

3

chciałbym powiedzieć, że jest dopuszczalna praktyka rozwijać aplikację dla tylko jednej orientacji, ale zmusić orientację w układzie lub kodu tak, gdy użytkownik obraca urządzenie to nie łamie układ. Rozważając różne rozdzielczości ekranu, należy wziąć pod uwagę możliwości wszystkich potencjalnych użytkowników. Jeśli wiesz, że rozdzielczość urządzenia będzie taka sama na wszystkich urządzeniach, to znaczy to tylko kod. Jeśli to się zmieni, będziesz chciał wziąć pod uwagę wszystkie. Ponieważ używasz portretu, rozdzielczość będzie oznaczona jako 640x1136. Wygląda na to, że twój minimalny cel to 480x800, a maksymalna to 1080x1920, więc sugerowałbym konfigurację emulatorów na wszystkich 3 rozmiarach i odpowiednie testowanie.

1

Nie ma możliwości zmiany rzeczywistej rozdzielczości urządzenia (z wyjątkiem sytuacji, gdy używany jest monitor CRT). Mimo to, jeśli projektujesz swoją aplikację o ustalonej rozdzielczości, Twój kod (lub biblioteka) powinien skalować/przyciąć projekt tak, aby pasował do rzeczywistego ekranu.

Należy pamiętać, że zmniejszenie skali spowoduje obniżenie jakości obrazu, ale zwiększenie skali (do wyższej rozdzielczości) do pikselizacji (piksele będą wyświetlane jako kwadraty).

Z drugiej strony, skalowanie używa procesora (lub gpu) i wyższych rozdzielczości wymaga większej mocy obliczeniowej.

Więc w zależności od aplikacji należy wybrać rozdzielczość, która nie wydaje się zbyt zły na urządzeniach o wysokiej rozdzielczości i nadal może wykonać przyzwoicie na urządzeniach elektroenergetycznych niskiego przetwarzania

Byłoby miło, jeśli dał więcej informacji o biblioteka, z której korzystasz.

1

Najnowszy edytor układów Android dla eclipse umożliwia oglądanie ekranu tak, jak będzie wyglądał we wszystkich rozmiarach ekranu. Jeśli chcesz rozwijać tylko pojedynczą rozdzielczość i pozostać nietkniętym w innych rozmiarach ekranu, nie powinieneś używać fill_parent i match_parent, zamiast tego użyj wrap_content, aby twoje elementy pozostały w tym samym rozmiarze. Nie używaj dynamicznego rozmieszczania elementów na podstawie rozmiaru ekranu.

Jeśli chcesz obsługiwać inne rozmiary ekranu, zrobiłbyś coś odwrotnego niż wspomniane powyżej.

3

Aby odpowiedzieć na pierwsze pytanie: Tak, kiedy Apple mówi o rozdzielczości 1136 na 640 pikseli, oznacza szerokość w tle w trybie poziomym.

Aby odpowiedzieć na drugie pytanie: Chociaż nie jest zalecane projektowanie aplikacji tylko w jednej orientacji (na przykład w trybie portretu), jest to dopuszczalne, jeśli jest to potrzebne do Twojej aplikacji. Zobacz Apple Human Interface Guidelines. Mówią, że jeśli zdecydujesz się na obsługę tylko jednej orientacji, upewnij się, że obsługujesz tę orientację, gdy urządzenie jest obrócone o 180 stopni. To znaczy, upewnij się, że odwraca się, gdy użytkownik odwróci urządzenie do góry nogami.

Jeśli chodzi o wymuszanie mniejszej rozdzielczości, niż urządzenie jest w stanie wyświetlać, nigdy nie jest to dobry pomysł. Zobacz Android Core App Guidelines, który mówi, że powinieneś używać całego ekranu, a także, jeśli to możliwe, sugerować obsługę obu orientacji.