Szerző: Hlács Ferenc

2014. július 18. 12:00

Mégsem rémálom a kijelzők fragmentációja Androidon?

Sokan a fejlesztők valóságos rémálmaként beszélnek az androidos kijelzők ezernyi méretéről - a platform ugyanakkor már a kezdetektől felkészült erre a problémára. Valóban ennyi bajjal jár a legnépszerűbb mobilos operációs rendszerre készíteni alkalmazásokat?

Az Android-ökoszisztéma kritikusai gyakran említik a rendszer hátrányaként, - a fejlesztők számára legalábbis - a kijelzőméretek fragmentációját. Ahogy azt az Opensignal is leírja tavalyi elemzésében, a platform valóban rendkívül sok eltérő méretű képernyőt tudhat magáénak, az alkalmazásoknak pedig mindhez igazodni kell.

A probléma nem tűnik egyszerűnek, ugyanakkor ahogy arra a Russell Ivanovic, a Shifty Jelly fejlesztője rámutat, korántsem kezelhetetlen. A rendkívül népszerű (és UI/UX-ben is előremutató) Pocket Casts alkalmazás fejlesztője szerint ugyanis az Android már a kezdetektől erre a konstrukcióra rendezkedett be: az egyes alkalmazásokban többféle elrendezés (layout) is beállítható, amely megadott bizonyos korlátok között beavatkozás nélkül skálázódik, így nem kell feltétlenül egyenként igazodni az egyes méretekhez - de persze arra is lehetőség van. A kialakítások vagy layoutok XML formátumban tárolódnak, így függetlenek az alkalmazás kódjától, valahogy úgy, ahogy az iOS 8 esetében a méretosztályokat tartalmazó XIB fájlok.

A ténylegesen figyelembe vett telefonos képarányok Android platformon

Miért a Go a legjobban vágyott programozási nyelv? (x)

A HackerRank 2020-as kutatása szerint a legtöbb fejlesztő a Go-t tanulja majd meg legújabb nyelvének - nézzük miért!

Miért a Go a legjobban vágyott programozási nyelv? (x) A HackerRank 2020-as kutatása szerint a legtöbb fejlesztő a Go-t tanulja majd meg legújabb nyelvének - nézzük miért!

A különböző felbontások ráadásul standardizáltak, a fejlesztőknek gyakorlatilag csak azok arányait kell megtartani ahhoz, hogy az egyes appok kezelőfelülete változatlan maradjon. Ehhez az "1x" vagy "1dp" egységeket használják: így például fejlesztői szempontból gyakorlatilag nincs különbség a brutálisan nagy, 1440x2560 pixel felbontású LG G3 vagy a "csak" 1080x1920-as Nexus 5 kijelzője között, hiszen 1x formában mindkettő 360x640 pixelesként kezelhető. A layout tehát mindkét esetben változatlan, csupán a vizuális elemekhez (assetekhez) kell adott esetben magasabb felbontású képeket is hozzárendelni, hogy a nagyobb felbontáson is élesek maradjanak - ez egyébként az iOS esetében sem működik máshogy (például iPad-retinás iPad vonatkozásban).

Miután tehát valójában csak a különböző arányokhoz kell igazodni, azok pedig adottak, a szinte megszámlálhatatlanul sok felbontás gyakorlatilag maroknyi méretre bontható le amelyhez a layout szintjén igazodni kell. Ez persze nem jelenti, hogy ne akadnának egzotikus felbontással és képaránnyal felszerelt készülékek, a terület azonban az Android 4.0 Ice Cream Sandwich megjelenése óta jóval letisztultabb lett mint 2.3-as hőskorban, a nem-szabványos arányokat használó eszközök jórészt figyelmen kívül hagyhatóak.

A Pocket Casts app

Érdemes megjegyezni, hogy a Rustyshelf.org értekezése az androidos telefonokra vonatkozik, a táblagépekre nem érvényes. A két kategória között a legfontosabb különbség nem is a felbontás és a képarány, hanem a fizikai méret, az UI-elemeket illetve a layoutot is annak fényében kell újragondolni, hogy ezt egy jóval nagyobb felületen fogja majd látni és nyomkodni a felhasználó. Ebben azonban megint párhuzam van az iOS és az Android között, a telefonos layoutok egyik esetben sem alkalmasak a tabletes felülethez, a nagyobb kijelzőhöz bizony újra kell tervezni a kinézetet.

Előfizetési lehetőség a NetAcademia és a Training360 mind a 600 online tanfolyamára 1 éven át 1 tanfolyam áráért. Siess, ez az őrült ajánlat csak október 31-ig él!

a címlapról