2013-01-04 10 views
12

Widziałem wiele wątków omawiających ten problem w stackoverflow (jak this, this i this) i przeczytałem dokumentację dotyczącą obsługi wielu ekranów i projektów. Ale nadal nie mam jasności co do struktury folderów dla rysunków i układu dla różnych ekranów.Android obsługuje wszystkie tablety - kategoryzuj rysunki i układy

Pracuję nad aplikacją, która obsługuje telefon i tablety z Androidem. I mój projekt pokazujący obrazy, które muszą być wyświetlane w dobrej jakości na wszystkich możliwych urządzeniach z Androidem. I muszę powiedzieć mojemu projektantowi, aby zaprojektował dla wszystkich tych rezolucji.

Z dokumentacji wydaje Dodam kanału alfa dla następujących rozdzielczościach (odkształcalne nazwa folderu jest podana na końcu),

1) 240 x 320 - Phone LDPI -> drawable-ldpi 

2) 320 x 480 - Phone MDPI -> drawable-mdpi 

3) 480 x 800 - Phone HDPI -> drawable-hdpi 

//Now for tablets 

4) 1024x600 - Tablet LDPI -> ?? 

5) 1280x800 - Tablet MDPI -> ?? 

6) 1536x1152 - Tablet HDPI -> ?? 

7) 2560x1600 - Tablet XHDPI-> ?? 

od wspierania multiple screens documentation wydaje mogę używać foldery jak

1) drawable-sw600dp (a 7” tablet (600x1024 mdpi).) 
2) drawable-sw720dp (a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc). 

Ale co z tabletami o rozdzielczości w zakresie 1536x1152, 2560x1600 itd. Zakres rozdzielczości 10 '(720 x 1280 itd.) Wydaje się dla nich mały. Mój klient ma Nexusa 10 o rozdzielczości 2560 × 1600 i chcę aplikacja, aby wyglądać idealnie to ..

Wiem o dziewięciu patchach, układ przy użyciu wrap_content i innych dobrych praktyk takich jak ten. Ale w przypadku tego projektu mam kilka obrazów, które zgodnie z wymaganiami powinny być ostrzejsze na wszystkich popularnych ekranach i potrzebuję kilku wersji tych obrazów, przynajmniej w moim pakiecie.

Co i jakie rezolucje należy podać projektantowi? I jak mogę je skategoryzować w pakiecie podając poprawną nazwę folderu.

+1

Zapoznaj się z wordpress aplikację. może dać ci pewien pomysł na temat obsługi ekranów diff https://android.trac.wordpress.org/browser/trunk – blessenm

Odpowiedz

19

W rzeczywistości tablety są podzielone na kategorie według rozmiaru, a nie na dpi, tj. Zakładka "7" to drawable-large, a zakładka "10" to drawable-xlarge. A teraz można ponownie podzielone przez DPI jak drawable-large-hdpi co oznacza, że ​​jest to Tab 7" , które mając dużą gęstość.

można użyć SW najmniejszą szerokość koncepcji docelowych, które można znaleźć Application Skeleton to support multiple screen i dokonać obliczeń dla tego samego.

Tablet Tablet są podzielone na dwa rozmiary.

7" (1024X (600-48 (pasek nawigacyjny))) = 1024 x 552 (odkształcalne dużych)
10" (1280x (800-48 (pasek nawigacyjny))) = 1280 x 752 (odkształcalny-XLarge)

i 2560x1600 oblicz SW dp wzoru

px szerokość
dpi = gęstość urzédzenia = Urządzenie jest

formuła podana

px = dp * (dpi/160) 

interchange formuła jeśli mają wartość PX za

dp = px/(dpi/160) 

tak odkształcalne-swxxxdp będzie wykonać zadanie

+0

Hmm .. Przejdę przez odpowiedź .. trochę wysiłku za tym .. – Krishnabhadra

+0

i zobacz także strona dewelopera [DeclaringTabletLayouts] (http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts) –

+0

Powiedziałbym więc, że powinienem powiedzieć projektantowi, aby zaprojektował 1) 1024 x 768 (duży folder do rysowania) 2) 1280 x 800 (folder drawable-xlarge) 3) 2560x1600 (użyj folderu drawable-xlarge-xhdpi). Czy obejmie prawie wszystkie ekrany? – Krishnabhadra

2

AFAIK istnieją dwa rodzaje zmiennych na wyświetlaczu urządzenia: gęstość pikseli i wymiary ekranu. Oba są teoretycznie niezależne, chociaż na rynku różnią się od urządzeń z niższym końcem do wysokiej klasy urządzeń.

Wymagania dotyczące gęstości pikseli dla różnych rozdzielczości bitmapowych i poziomu szczegółowości (na przykład ikony 36X36 do 96X96).

Wymagany rozmiar ekranu dla lepszego wykorzystania nieruchomości (na przykład układ wielu czynności dla telefonów, na przykład złożony układ fragmentów na tablety). Nie tak ważne jak gęstość pikseli, ale dobre, ponieważ użytkownicy tabletów mogą uznać, że układ telefonu jest zbyt łagodny i marnować miejsce na ekranie.

Więc:

  • Aby pokryć większość gęstości pikseli będzie mieć inny versions of drawables: ldpi,mdpi,hdpi and xhdpi. Wolisz dziewięcio-plasterkowe rysunki, o wiele lepiej pasują wszędzie.

  • Aby pokryć większość rozmiarów ekranu będzie mieć inny layout arrangements i responsivelayout design dla small,large and xlarge wartości. Co więcej, czasami można mieć różne układy portretu i orientacji krajobrazu.

  • Android pozwala również mieszać kombinacje konfiguracji. Na przykład. drawable-large-hdpi itd.

  • Unikaj skoordynowanych pikseli w postaci stałej i wymiarów za wszelką cenę, użyj gęstości lub wartości procentowej.

  • Jego Lepiej mieć jeden elastyczny rozciągliwej dziewięć łat niż mieć różne kanału alfa dla różnych rozmiarów ekranu.

1

Co doszedłem do wykorzystania jest:

  • jeden folder układ (lub drugi: layout-land)
  • kilka wartości foldery z dimens.xml (-hdpi, -duży , -xlarge) dla różnych rozmiarów, czcionek itp.
  • drawables: -hdpi z większością obrazów, skalują się dla wszystkich telefonów; -duży dla tabletów 7-calowych, -duża tabletka 10 ". Lub po prostu -hdpi i-duży.

Mogę zweryfikować to podejście, tzn. Użyć -sw600dp i -sw720dp, ale na razie to działa.

-1

Witam, myślę, że rozdzielczość do rysowania w Androidzie to:

10 "- 1280 X 800

7" - 1024 x 600

xhdpi - 960 x 720

hdpi - 800 X 480

MDPI - 480 X 320

+0

Gęstość ma bardzo niewiele wspólnego z rozdzielczością – Vaiden