Useiden eri näyttökokojen tukeminen on keskeisin tekijä käyttäjäystävällisten sovellusten luomisessa. Jos haluat käyttäjien pysyvän sovelluksesi parissa, sen on näytettävä hyvältä ruudulla. Siksi useiden näyttöjen tukemiseen liittyvät käsitteet ja termit on syytä hallita hyvin. Termit ja käsitteet
Näyttökoko
Näytön pikselitiheys
Näytön suunta
Resoluutio
Tiheydestä riippumaton pikseli (dp)
Tuettujen näyttöjen skaala
Pieni
Normaali
Suuri
Erittäin suuri (xlarge)
Näihin käsitteisiin kannattaa tutustua tarkemmin Android Developer -sivustolla osiossa ”Device Capability” ja erityisesti linkin takaa: ”https://developer.android.com/training/multiscreen/screensizes”. Miten tukea useita eri näyttöjä
Aluksi sovelluksen manifest-tiedostossa on määriteltävä selkeästi, mitä näyttökokoja sovellus tukee
<supports-screens android_smallScreens="true" android_normalScreens="true" android_largeScreens="true" android_xlargeScreens="true" android_anyDensity="true" />
Eri näyttökooille on luotava erilliset asettelut (layout)
res/layout/my_layout.xml // asettelu normaalille näyttökoolle ("oletus") res/layout-small/my_layout.xml // asettelu pienelle näyttökoolle res/layout-large/my_layout.xml // asettelu suurelle näyttökoolle res/layout-xlarge/my_layout.xml // asettelu erittäin suurelle näyttökoolle res/layout-xlarge-land/my_layout.xml // asettelu erittäin suurelle vaakasuuntaiselle näytölle
Eri pikselitiheyksille on luotava omat bittikarttakuvat (bitmap drawable)
res/drawable-mdpi/my_icon.png // bittikarttakuva keskitason tiheydelle res/drawable-hdpi/my_icon.png // bittikarttakuva korkealle tiheydelle res/drawable-xhdpi/my_icon.png // bittikarttakuva erittäin korkealle tiheydelle
Käytä konfiguraatiomääritteitä
Koko
small, normal, large, xlarge
Tiheys
ldpi, mdpi, hdpi, xhdpi, nodpi, tvdpi
Suunta
land, port
Kuvasuhde
Long, notlong
Suunnittele vaihtoehtoisia asetteluja ja kuvia (drawable)
Parhaat käytännöt Yhteenvetona:
Käytä XML-asettelutiedostossa mittoina arvoja wrap_content, match_parent tai dp-yksiköitä
Älä käytä sovelluskoodissa kovakoodattuja pikseliarvoja
Käytä tekstikoolle yksikköä sp
Vältä kovakoodausta
Älä käytä AbsoluteLayoutia (vanhentunut) tai ConstraintLayoutia
Käytä RelativeLayoutia tai
etsi sovellukseesi sopivia asetteluja
Luo vaihtoehtoiset bittikarttakuvat eri pikselitiheyksille
o res/drawable-mdpi/icon.png // keskitason tiheyden näytöille o res/drawable-hdpi/icon.png // korkean tiheyden näytöille Aytunç BAKIR, tietotekniikan insinööri Lähde: https://developer.android.com
