Pokud si přejete zobrazit různý layout pro telefon, 7″ tablet a 10″ tablet určitě vám pomohou tyto poznámky.
Starý a již nepreferovaný způsob:
- layout výchozí složka – v té máte základní layout
- layout-large pro 7″ tablet (funguje pro emulátor Nexus 7)
- layout-xlarge pro 10″ tablet (funguje pro emulátor Galaxy Tab 10.1)
Nový preferovaný způsob je vybrání layoutu podle hodnoty dp
Jednotka dp (density independent piuxel) vyjadřuje fyzickou velikost displeje. a je definován vztahem:
1dp = 160px/dpi
- 320dp: typické rozlišení pro telefon (240×320 ldpi, 320×480 mdpi, 480×800 hdpi, atd.).
- 480dp: phablet – něco mezi telefonem a tabletem (480×800 mdpi).
- 600dp: 7” tablet (600×1024 mdpi).
- 720dp: 10” tablet (720×1280 mdpi, 800×1280 mdpi, atd)
Šablony pro zůzně velká zařízení
- sw600dp = nejmenší rozměr (smallestWidth) 600dp – použije se pokud nejmenší rozměr displeje je alespoň 600dp – bez ohledu na to zda je to šířka nebo výška
- w600dp = šířka displeje 600dp
- h600dp = výška displeje 600dp
Příklad: Nexus 6 se má velikost displeje 5,96″ a Quad HD v rozlišení 2560 x 1440 (493 ppi). To odpovídá ~ 730 x 410 dp
Vaše zařízení můžete dohledat na adrese http://www.emirweb.com/ScreenDeviceStatistics.php
Typická zařízení
- Nexus 7: 1280 x 800 px (961 x 600 dp) / tvdpi / Large screen
- Nexus 10: 2560 x 1600 px (1280 x 800 dp) / xhdpi / XLarge screen
Pokud tedy chci layout pro Nexus 7, založím ve složce app\src\main\res\layout-w600dp\ požadovaný layout
Pro Nexus 10 založím v app\src\main\res\layout-w720dp\ požadovaný layout