2024. április 24., szerda

Gyorskeresés

Útvonal

Cikkek » Telefónia rovat

MIUI lockscreen készítési segédlet

Az xda-n is elérhető MIUI lockscreen manifest magyar változata segítő példákkal.

[ ÚJ TESZT ]

Alapok

A MIUI témázásának (nagyon) alapjai
Bizonyára sokakban felötlött már a gondolat a stock alapú romokon, vagy akár CM7-en is, hogy a gyári feloldóképernyők helyett valami újat, egyénit látnának a telefonjukon, ha bekapcsolják a kijelzőt. Nekik ugye ott van a WidgetLocker, vagy más hasonló appok, viszont itt van a MIUI egyik előnye: a szinte korlátlan testre szabhatóság.

Ami a fenti appok nélkül kemény fejlesztési munka lenne, a MIUIban a végfelhasználó által is könnyen szerkeszthető formában valósítható meg.

Mi is ennek az alapja? A MIUI témázhatósági rendszere, amit az jellemez, hogy egy-egy témában igen sokmindent lefedhetünk, ugyanakkor megvan a lehetőségünk, hogy az UI egyes elemeit a nekünk tetsző témákból összelegózhassuk, ezzel alkotva meg az egyedi képet. (Hogy lássuk, hogy a userek mi mindent hoznak ki a saját MIUIjukból, ajánlom a következő topikot: XDA What does your MIUI look like?)

Ráadásul a MIUI lockscreenek használatáról ráadásul már nem kell lemondaniuk azoknak sem, akik bár nem MIUI romot használnak, de legalább FroYo romot használnak, ha feltelepítik a MIUI fejlesztők által írt MiLocker programot.

Hogyan is épülnek fel a témák: minden témát egy .mtz fájlban lehet telepíteni a fájlkezelőn vagy a theme manageren keresztül, pofonegyszerűen. Kiválasztjuk, hogy az adott témából mit óhajtunk telepíteni, és azt néhány másodpercnyi fájlmásolás után a rendszer alkalmazza is.

Tehát minden téma egy .mtz fájlból áll (MIUI Theme Zip). Ezek az mtz fájlok tartalmaznak minden fájlt és xml fájlt, amit módosítani akarunk a rendszer bármelyik appjában. (A rendszer figyeli a resource-kéréseket és a megfelelő fájlokra irányuló kéréseket átirányítja a témánkban lévőkre) Az mtz fájl lényegében egy zip fájl, aminek a kiterjesztését megváltoztatjuk mtz-re. De mit is kell zippelnünk? Ehhez célszerű megnéznünk egy téma tartalmát belülről.

Kétféle formátummal találkozhatunk: az egyik az úgynevezett „old format”, azaz az mtzben különböző mappákat találunk, amik különböző másik mappákat és ezekben képeket és xml fájlokat rejtenek. A másik lehetőség a „new format”, azaz ilyenkor az mtzben különböző kiterjesztés nélküli fájlokat fogunk találni. (Valójában ezek is újabb zipfájlok, csak jelen esetben kiterjesztés nélkül) Ilyen mappák lehetnek a következők a teljesség igénye nélkül, mindnek beszédes a neve is, hogy mire való: preview, ringtones, icons, wallpaper, icons, lockscreen és különböző mappák a témázandó appok process neveivel. (Tehát például a gmail az nem gmail, hanem com.google.android.gm). Ezen kívül található még egy description.xml fájl, ami a téma azonosításában segít (szerző, téma neve, verziószáma, stb.)
Az appok témázásába most nem mennék bele, az egy következő írás témája is lehet majd.
(Elnézést az olvasótól, hogy következetesen az angol szót használom a feloldóképernyőre, de nem áll a számra [ujjamra] a szó, így maradok a lockscreennél vagy az ls rövidítésnél.)

A lockscreenek témázásáról
Tehát a ls-eket a lockscreen nevű mappába kell majd belepakolnunk. De ez hogyan néz ki belülről? Található benne egy advance mappa, amiben pedig egy manifest.xml és egy adag képfájl. A manifest.xml az a fájl, ami a lényegi részt kódolja le, azaz hogy mi hogyan legyen elrendezve, milyen funkciókat tudjon, stb, míg a képfájlok a lock grafikus dizájnjához kellenek. (Kivitelezhető text-only ls is, ilyenkor persze nincsenek képfájlok.)

Hogyan kezdjünk neki a lockscreenek készítésének? Legyen valami elképzelésünk arról, hogy mi az, amit létre akarunk hozni, készítsünk szkeccseket, amiből aztán valamilyen képszerkesztővel (mindenkinek tudásának és pénztárcájának megfelelően az egyszerűbb Paint.nettől kezdve a GIMP/Photoshop párosig bármivel, amit az ember ismer és elér, a Windows Paintet azért nem ajánlom) készítsünk el egy koncepciótervet. Ez nem csak azért hasznos, mert ugye a lockhoz minden képfájlt így is, úgy is el kell készítenünk később mindenképp, hanem azért is, mert könnyebbé teszi a kódolást, ha a koordinátákat nem fejben tervezzük csak kódolás közben, hanem mondjuk Photoshopból tudunk lesni. Ezután kellene elkezdenünk a kódolást.

Ehhez több segítségünk is lehet: megpróbálunk egy már kész ls-t módosítani, vagy pedig az alapoktól építjük újra, esetleg mások által használt kisebb-nagyobb kódrészletek átemelésével. A kód megírásánál valamennyire meg van kötve a kezünk, mivel fix utasításkészlettel dolgozik a miui, ugyanakkor ez jól dokumentált, példákkal ellátva, valamint már minden utasításra elérhető működő lock is, amikhez szükség esetén nyúlhatunk. És ez a dokumentáció hol található? Az xda-n a következő topikban: miui lockscreen manifest (egyébként is érdemes az xda-t forgatni annak, aki még nem ismeri, irdatlan mennyiségű tudásanyag van ott felhalmozva)
Ennek a dokumentációnak a magyar változatát fogom lentebb bemutatni.

Az alapokról
Tehát a kódot a manifest.xml tartalmazza, ezt kell megírnunk általunk választott normális szövegszerkesztőben (én notepad++ -t használok, mások másra esküsznek, winword nem ajánlott). A kód alapvetően xml alapú, így nem kell nagyon bonyolult több oldalnyi kódra számítani, viszonylag egyszerűen írhatunk manifestet.
Hogyan is kellene majd kinéznie egy ilyen fájlnak: minden manifest fájl <Lockscreen> taggel kezdődik (a kód kisbetű/nagybetűre érzékeny), aminek még megadhatunk különböző paramétereket, mint pl. frame rate (ami ha 0, akkor csak érintésre frissít). Ezután helyezzük el sorban az általunk kívánt elemeket az xml fájlban (képek, szövegek, órák, feloldógombok, zenelejátszó), ezek megjelenítési sorrendje fentről lefelé fog történni, a legelső elemek a háttérben jelennek meg, míg a legutolsó elemek a felszínen lesznek. Végül majd az egészet le kell zárnunk a </Lockscreen> taggel. Minden elemet le kell zárnunk, különben a rendszer hibát hoz. Ez történhet kétféle módon: (1) a html-kódokból is ismert módon, azaz pl. <Image></Image>, vagy pedig (2) egysoros kódelemek esetén a következő módon: <Image ……… />
Milyen elemeket használhatunk fel a ls-ekben? Képeket, szöveges adatokat, dátumot és időt elég sokféle formátum mellett, beállíthatunk különböző feloldógombokat, zenelejátszót valamint néhány rendszerszintű változó értékét is kiírathatjuk a képernyőre (akkumulátor állapota: merül, töltődik, stb., töltöttsége százalékban, elmulasztott hívások száma, olvasatlan smsek száma, valamint az 1.9.30-as verzió óta a legközelebbi ébresztés ideje is kiíratható). Hiányossága a rendszernek, hogy csengetési módot nem lehet még váltani, azaz az aosp lock egyik fele pl. még nem kivitelezhető. (Még. A fejlesztők már dolgoznak az ügyön. Ráadásul igen jó a support, a fejlesztők bármikor hajlandóak segíteni, meghallgatják az új ötleteket, jó párat be is vezettek már közülük.)

És akkor végre következzen a kód részletes dokumentációja a tovább után.

A cikk még nem ért véget, kérlek, lapozz!

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.