Szkielet aplikacji obsługujący wiele ekranów
Jak wiemy Android pochodzi z różnych urządzeń, które mają różne Funkcji, rozdzielczości i wielkości ekranu, więc podczas tworzenia aplikacji obsługującej wiele (mały i duży) ekran jest przeszkodą wielkości i układu.
Prowadzi to do różnych kombinacji rozmiarów ekranu, rozdzielczości i DPIs i stwarza spore wyzwanie podczas projektowania i rozwijania urządzeń z systemem Android. Podczas gdy niektórzy inni producenci (Nie Android) mają różne rozdzielczości i DPI, to Udostępnij ten sam rozmiar ekranu, a rozdzielczości mają ten sam współczynnik proporcji. Dlatego można utworzyć obraz pasujący do urządzeń innych niż Android.
Moje pytanie brzmi, czy istnieje odpowiedni przepływ lub Architektura, którą należy podążać, aby spełnić wymagania?
pamiętaj, że mamy Tablety o różnej wielkości i rozdzielczości.
Wiem, że Android Developer zawiera te informacje, ale moim zdaniem jest z wdrożenie.
Z mojej wiedzy zrozumiałem, że do projektowania grafiki na Androida nawet programista musi znać koncepcję projektowania.
2 answers
Wreszcie stworzono strukturę, która obsługuje układy i ikony dla wielu ekranów.
[[23]} Android uogólnia wyświetlanie urządzeń na kategorie na podstawie dwóch parametrów: [24]}- W 1995 roku w Polsce wprowadzono do obiegu nowe modele samochodów.]}
W 1990 roku w Polsce wprowadzono do obiegu nowe modele samochodów, które były używane do produkcji samochodów osobowych i dostawczych.]}
Aby szybko określić rozmiar i gęstość ekranu, zainstaluj aplikację " What ' s my Size " na Androida.
Rozmiar ekranu
Android definiuje cztery ogólne rozmiary ekranu:
Qualifier Size
small ~3 inches (approx)
normal ~4 inches (approx)
large Exceeds 4 inches
xlarge Exceeds 7 inches
- większość telefonów jest klasyfikowana jako małe lub normalne (około 3 do 4 cali po przekątnej). Ale teraz istnieje wiele telefonów z dużym ekranem, takich jak Galaxy S4, HTC One, Xperia z Samsung Galaxy Tab jest jednym z najbardziej popularnych tabletów na świecie.]}
- Extra-large dotyczy dużych urządzeń, na przykład dużych tabletów
Android definiuje cztery uogólnione gęstości ekranu:
Qualifier Description Nominal value
ldpi low density 120 ppi
mdpi medium density 160 ppi
hdpi high density 240 ppi
xhdpi extra high density 320 ppi
Typowo:
- Rozmiar ekranu ma największy wpływ na Układy aplikacji]}
- gęstość ekranu ma największy wpływ na obraz i zasoby graficzne
To jest wymienione tutaj różnica procentowa ekranu urządzenia
- Ldpi-75% [[28]}Mdpi-100% (baza według Android developer site)
- Hdpi - 150%
- XHdpi- 200%
Ale jak wiemy obecnie większość urządzeń pochodzi z 480X800 więc uznaję to za urządzenie oparte, więc nasze nowe obliczenia będą takie]}
- Ldpi-50%
- Mdpi-66,67%
- Hdpi - 100%
- XHdpi-133.33%
Co oznacza, że Pierwsza ikona i projekt będą tworzone tylko dla 480X800, a następnie dla pozostałych (np. Ldpi, Mdpi, Xhdpi).
Istnieją obrazy, które są wspólne dla wszystkie układy i muszą być jednolite w kolorze i kształcie (bez złożonego kształtu, bez krzywej), więc dla tego rodzaju obrazu tworzymy 9patch
, które należy umieścić w folderze" drawable (no-sufiks)". Aby utworzyć obraz 9Patch możesz użyć DrawNinePatch lub BetterNinePatch
Teraz po prostu zmień nazwę swoich obrazów w oparciu o standardy Androida i uzupełnij aplikację hdpi
, a następnie wybierz drawable-hdpi
folder i otwórz Adode Photoshop (zalecane)
Utwórz działanie wielokrotnego rozmiaru (wystarczy zmienić rozmiar zgodnie ze stosunkiem procentowym) po utworzeniu akcji dla wszystkich rozmiarów, a następnie po prostu zrób Batch Automate i podać źródło (drawable-hdpi) i miejsce docelowe (drawable-ldpi, drawable-mdpi, drawable-xdpi).
Powodem, dla którego nalegam, aby używać Photoshopa, ponieważ automatycznie zmieni rozmiar obrazu z działaniami i jeszcze jeden plus punkt jest to, że nie trzeba zmieniać nazwy pliku(będzie przypisać tę samą nazwę co oryginał jeden).
Po zakończeniu tworzenia wszystkich obrazów, Odśwież swój projekt i przetestuj go.
Czasami istnieje możliwość, że układ obsługujący ekran(xhdpi, hdpi, mdpi) może być wycięty na małym ekranie(LDPI), więc do obsługi tego wystarczy utworzyć osobny folder układu(layout-small) i dodać ScrollView
(głównie). To wszystko.
Tabletka Tabletki są podzielone na dwa rozmiary.
- 7 " (1024x (600-48 (pasek nawigacji))) = 1024x552 (drawable-large)
- 10"(1280x (800-48 (pasek nawigacji))) = 1280x752 (drawable-xlarge)
W tym musimy stworzyć obraz zarówno dla ekranu i po prostu umieścić je odpowiednio
Więc w sumie będziemy mieć ten folder w naszej aplikacji do obsługi wielu ekranów.
drawable
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-large
drawable-xlarge
będzie bardziej kwalifikacyjna kombinacja z Screen size and Screen density
drawable-large-ldpi
drawable-large-mdpi
drawable-large-hdpi
drawable-large-xhdpi
więcej kwalifikacji z Screen density and Version
drawable-ldpi-v11
drawable-mdpi-v11
drawable-hdpi-v11
drawable-xhdpi-v11
i Więcej z Screen size and Version
drawable-large-v11
drawable-xlarge-v11
i Więcej z Smallest width concept(SW)
drawable-sw???dp
Dalej w Androidzie v3. 0 Honeycomb wprowadzili nową koncepcję SW(smallest width)
, w której urządzenia są podzielone na szerokość ekranu, więc jeśli tworzymy folder o nazwie drawable-sw360dp
, to urządzenie z 720dp (szerokość lub wysokość) będzie używać zasobów z tego folderu.
Na przykład, aby znaleźć Samsung Galaxy S3
dp do przyrostka drawable-sw?dp
W odniesieniu do DP Obliczanie, Jeśli chcesz obsługiwać swój układ lub rysować na S3, obliczenie mówi
px = szerokość urządzenia= 720
dpi= gęstość urządzenia= 320
Wzór podany
px = dp * (dpi / 160)
Przemienny wzór, ponieważ mamy wartość px
dp = px / (dpi / 160)
Now putting value,
dp= 720 / (320/160);
dp=360.
Więc drawable-sw360dp
wykona zadanie
Get you Device configuaration from GsmArena Sameway można również utworzyć folder według Wersja Android API urządzenia tj. drawable-hdpi-v11 ' więc urządzenie, które ma API11 i jest to Hdpi, będzie korzystać z tych zasobów.
Dodatkowe Wskazówki:
-
Użyj układów względnych, dp, sp I mm
Jednostki Dp - piksele niezależne od urządzenia znormalizowane do 1 piksela fizycznego na ekranie 160 ppi, tj. średniej gęstości. Skalowane w czasie pracy. Zastosowanie do wymiarów elementów ekranu
Jednostki Sp - skalowane piksele, określone jako zmiennoprzecinkowe wartości, oparte na jednostkach dp, ale dodatkowo skalowane dla ustawienia preferencji rozmiaru czcionki użytkownika. Skalowane w czasie pracy. Użyj dla rozmiarów czcionek
do układów należy zawsze używać RelativeLayout; AbsoluteLayout jest przestarzały i nie powinien być używany.
-
Użyj odpowiednich formatów obrazów-PNG kontra JPEG
Android "prefers" PNG for bitmap image files, "accepts" JPEG, and "discourages" GIF.
Jednak PNG i JPEG nie są odpowiednikami. Mają różną jakość, a PNG nie zawsze jest najlepszy:
Format JPEG może oferować do 50% redukcję rozmiaru pliku w stosunku do formatu PNG, co jest znaczące, jeśli aplikacja wymaga dużej ilości obrazów [24]} Format JPEG o wyższej jakości może wyglądać lepiej niż skompresowany "bezstratny" PNG, dla tego samego rozmiaru pliku.]}
-
Dodawanie etykiet do obrazów i Grafiki w celu debugowania
-
Użyj elementu supports-screens
-
Skonfiguruj emulatory za pomocą prawdziwego urządzenia wartości
Standardowo systemy desktopowe wyświetlają się w rozdzielczości 72ppi (Mac) lub 96ppi (Windows, Linux). W porównaniu z urządzeniami mobilnymi wyświetlacze stacjonarne mają zawsze niską gęstość.Zawsze Konfiguruj emulatory Androida tak, aby naśladowały rzeczywiste wartości urządzenia i zawsze ustawiaj je na skalowanie, aby emulować gęstość urządzenia.
W Eclipse łatwo jest utworzyć wiele emulatorów (z paska menu Eclipse wybierz Window > Avd Manager > New) skonfigurowanych z wartościami dla rzeczywistych urządzenia:
Nazwij emulator dla prawdziwego urządzenia, które emuluje Określ rozdzielczość, nie używaj wbudowanych rozmiarów ogólnych Ustaw gęstość urządzenia tak, aby odpowiadała rzeczywistemu urządzeniu (w panelu sprzętowym Ustaw abstrakcyjną właściwość LCD do rzeczywistej gęstości, zawsze wartość całkowita)
Po uruchomieniu urządzenia zawsze wybierz Skaluj wyświetlacz do rzeczywistego rozmiaru i wpisz rzeczywisty wymiar ekranu w calach.
Jeśli nie ustawisz gęstości urządzenia, emulator domyślnie ma niską gęstość i zawsze ładuje zasoby specyficzne dla ldpi. Rozdzielczość (wymiary w pikselach) będzie prawidłowa, ale zasoby obrazu zależne od gęstości nie będą wyświetlane zgodnie z przeznaczeniem.
Oczywiście nic, co zrobisz, nie odtworzy jakości obrazu o wyższej gęstości na wyświetlaczu biurkowym o niższej gęstości.
Oto dane zebrane podczas 7-dniowego okresu kończącego się 1 października 2012 roku. Aby zobaczyć najnowsze statystyki dotyczące wersji platformy Android, przejdź do tutaj
na podstawie ekranu Rozmiar
na podstawie gęstości ekranu
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-16 15:48:03
Projektanci powinni tworzyć podstawowe projekty
base size of mdpi devices * density conversion factor of highest supported density bucket
rozmiar.Rozmiar ekranu bazowego wynosi 320 X 480 px, a gęstość wiader jest następująca:
- ldpi: 0.75
- mdpi: 1.0 (gęstość bazowa)
- hdpi: 1.5
- xhdpi: 2.0
- xxhdpi: 3.0
- xxxhdpi: 4.0
I zająć dodatkową dostępną przestrzeń na urządzeniach z Androidem należy używać rozciągliwych elementów w obu kierunkach (poziomo i pionowo). Szczegółowe informacje są dostępne tutaj:
Http://vinsol.com/blog/2014/11/20/tips-for-designers-from-a-developer/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-20 13:10:38