2013/11/19

Tamainu ezberdinetako gailuen interfazeak diseinatzea

Telefono mugikor eta tablet-en ekoizle kopurua dela eta Android gailu ezberdin ugari daude merkatuan forma eta tamainuei dagokionez. Hau arazo bihurtzen da programatzailearentzat, erabiltzailearen interfazeak egokitu egin beharko baititu horietako bakoitzarentzat.

Lehenengo eta behin honako kontzeptu hauek jakitea komeni da:

  • Androiden 4 tamainu ezberdin existitzen dira: txikia (small), ertaina (medium), handia (large) eta oso handia (extra-large).
  • Androiden 4 dentsitate (hazbete bakoitzeko pixel kopurua) ezberdin existitzen dira: low (ldpi), medium (mdpi), high (hdpi) y extra high (xhdpi).
Horiez gain azpimarratzekoa da pantaila bertikalean (portrait) edota horizontalean(landscape) jartzeak ere eragina izango duela interfazean.

Baldintza guzti horiek kontuan hartuz programatzaileak tamainu guztietarako eta bi orientaziotarako interfaze edo layout bana diseinatu beharko du. Horretarako, I. Ilustrazioan ikus daitekeen moduan formato ezberdinetarako diseinaturiko xml fitxategiak, res karpetaren barruan tamainuarekin eta orientazioarekin lotzen diren izen espezifikodun karpetetan sartuko ditugu.

I. Ilustrazioa: res karpeta barruko tamainu ezberdinetarako karpetak


Aipatzekoa da baita ere medium neurria hartzen duela Android-ek tamainu estandar edo normaltzat eta horregatik ez zaiola atzizkirik jartzen karpetan.

Irudiekin (ikono, background irudi, barrak,...) arazo bera gertatzen da Androiden: pantaila dentsitate ezberdinetarako eskalatu beharko dira gailu batetik bestera distortsionaturik ikus ez daitezen. Gomendagarriena oinarritzat medium dentsitatearentzat diseinaturiko eta formato bektorizatuan gordetako irudi bat sortzea da eta ondoren honako pauta hauek kontuan hartzea:

  • xhdpi: 2.0 
  • hdpi: 1.5 
  • mdpi: 1.0 (baseline)
  • ldpi: 0.75

Honek esan nahi duena zera da, 100x100 irudi bat sortzen badugu medium-erako, 75x75 izan beharko lukeela low-rako, 150x150 high-erako eta 200x200 extra high-erako (Ikus II. Ilustrazioa).

II. Ilustrazioa: pantaila dentsitate ezberdinetarako drawable karpetak

III. Ilustrazioan azaltzen den eskema oso lagungarria izan daiteke aipatutako kontzeptuak ulertzeko.

III. Ilustrazioa: Android dentsitateak eta resoluzioak
Bukatzeko aipatu informazio baliagarria aurki daitekeela Android Developers web orrialdean honako estekan: Android developers-Supporting multiple screens.