Végrehajtása android kütyü, tervezés, arányok, világosság

Végrehajtása android kütyü, tervezés, arányok, világosság

Ma már nehéz elképzelni, hogy az Android alapú készülék nélkül kütyü. Úgy tűnt, az Android 1.5 és már erősen átdolgozták az Android 3.0 és 3.1. A widgetek olyan parancsikonokat a jelentkezési adatait, az alkalmazás vezérlési funkciók bejelentkezés nélkül, és egyénileg konfigurálható a felhasználó.

Könnyen használható kütyü, és a népszerűsége vezetett a kereslet növekedése a fejlesztési szabott widgetek az Android app. Ugyanakkor, a végrehajtás kütyü nem olyan egyszerű, mint amilyennek látszik első pillantásra.

Hagyományosan a kütyü lehet osztani három fő típusa van:

Végrehajtása android kütyü, tervezés, arányok, világosság

Információ: biztosítja a legfrissebb információkat az állam a kérelmet. Tartozik az ilyen típusú időjárás widget, óra, idézetek valuták és mások.

Widgets meg: megjelenítésére használt ugyanolyan típusú információk gyűjtése. Például az üzenetek listája, híreket, vagy a teendők a nap.

Irányítsd a modulokat: gyors hozzáférést biztosít a gyakran használt funkciók az alkalmazás a felhasználó számára, hogy tegyék meg a szükséges lépéseket, közvetlenül a kezdőképernyőről a készülék, az alkalmazás nem fut.

A legtöbb widget kombinált típusú, azaz Ez egyesíti az egyes elemeket. De ez nem zárja ki a nehézségeket, amelyek előfordulnak a végrehajtásuk során.

A példa a legutóbbi projektje megmutatjuk, hogyan lehet megvalósítani az Android widget egyedi vevői igényeknek és a tapasztalt problémákat a fejlődés folyamán.

Az egyik a rendszeres fogyasztók Azoft - Vállalat Novotelecom (ISP „Electronic City”) - iránti kérelem érkezett a fejlesztés a kérelem „My Account”. Az alkalmazás célja ISP számára. Ez segíthet kideríteni a számlaegyenleg, akkor töltse fel, aktiválja a halasztott fizetés, valamint a csatlakozni új lehetőségek megváltoztatni a díjcsomaghoz, és még sok más.

A projekt feladata, hogy hajtsák végre a widget a kérelmet.

Végrehajtása android kütyü, tervezés, arányok, világosság

Létrehozása widgetet magában a következő követelményeknek:

  • Widget kell jelennie a folyószámla adatokat, és megjeleníti a legutóbbi frissítés ideje.
  • A widget kell helyezni 2 gomb: menj a beállítások képernyőn, és kénytelen frissítés felhasználói kérésre.
  • A végre kell hajtani konfigurációs képernyő azzal a képességgel, hogy állítsa be az időt frissítések elszámolási adatokat, és módosítani a widget átláthatóságot.

A fő nehézség abban az időben a feladat bizonyult a helyes beállítása a widget funkció számunkra a különböző Android-eszköz és a képernyő tájolását.

végrehajtás

Végrehajtásakor Android widgetek fejlesztők mindig működik a négy kulcsfontosságú eszközöket:

  • metaadatfájlt. Leírja a widget, és tartalmazza az összes modult, például egy jelölő fájl és az osztály konfigurációs képernyőn.
  • szolgáltató osztályban. Itt kidolgozott módszereket az események feldolgozására a widget, mint például hozzá egy widget megjelenítéséhez, módosítani, eltávolítani a képernyőről, és mások.
  • widget megjelenítési fájlt. Azt mutatja, hogy a widget jelenik meg a kezdőképernyőn.
  • Képernyő widget beállításait. Úgy tűnik, azonnal áthelyezését követően widgetet a kezdőképernyőn.

A végrehajtás részleteit ismertetjük a developer.android.com. itt beszélünk csupán a widget megjelenítési problémákat, hogy mi vagyunk a legtöbb csalit.

Amikor elkezdtük építeni az első prototípus modult, majd szembe két probléma.

Először is, mobileszköz képernyőjére különböző cella méretei vízszintes és függőleges irányban. Azaz, a sejt maga hosszúkás, függőlegesen, és ha változtatni a képernyő tájolását változik a mérete. Emiatt widgetet a vízszintes elrendezése a készülék csak húzódik végig a teljes rendelkezésre álló vele a cella területén. Ez történt a mi widgetet, amikor az első prototípus jött létre.

Végrehajtása android kütyü, tervezés, arányok, világosság

Másodszor, a widget fut egy másik folyamat, így az megjelenik a RemoteViews osztály csak néhány osztály megtekintése, és még származékok nem lehet használni őket. Ennek eredményeként lehetetlen túlterhelés Kamerák számítási arányok és a háttérben.

Ügyelve arra, hogy a hagyományos megközelítés, hogy hozzon létre egy widget nem működik, elkezdtünk keresni a megoldást, hogy a widget szerint a kívánt mintát:

Tekintettel arra, hogy az élek lekerekítettek, háttér, akkor sem png, vagy alakja. Megálltunk png.

A kialakítás a widget ábrázolták vízszintesen, és a sejteket a Android készülékek - függőleges. Annak érdekében, hogy az arányokat a modult, akkor kódolva szélessége és magassága az elrendezés. És az összes eszköz a widget a megfelelő méretű, widget elrendezést kellett adni több engedélyeket.

Az átláthatóság a háttér dinamikusan változik, attól függően, hogy a widget beállításait. Ha módosítani RemoteViews tárgy, a widget módszerek SETINT, setFloat, SetBitmap és mások, amelyek a paraméterként átadott azonosító View, a módszer nevét és paramétereit ezt a módszert.

A következő lépés az, hogy a háttér szoktuk SetBitmap módszer:

Módosításához az átláthatóságot a háttérben, akkor először változott pixelenként az alfa Bitmap, majd megbotlott a háttérben.

Munka alfa

Először is, egyszerűen cserélje ki a kívánt átláthatóság png. Azaz, a teljes képet mutatott egy alfa egyenlő 1, ami a sarkokban vásárolt fekete.

Végrehajtása android kütyü, tervezés, arányok, világosság

Aztán úgy döntöttünk, hogy változtatni az alfa csak átlátszatlan pixel. Azonban, az éles sarkok felé fordult, a kiálló élek a pixelek, mert PNG szögek simasága elért pixel különböző alfa.

Végrehajtása android kütyü, tervezés, arányok, világosság

Aztán úgy döntött, hogy igénybe újabb javulás - váltás alpha csak a pixelek nagyobb láthatóság, mint a jelenlegi alpha. Ez segített a alfa y pixel világosabban, és amelyek kifinomult megjelenés szögek.

Végrehajtása android kütyü, tervezés, arányok, világosság

Többszöri próbálkozás után állítsa a fedettség segítségével az alfa, végre megkaptuk a kívánt megjelenés a widget:

Végrehajtása android kütyü, tervezés, arányok, világosság

Tekintettel a függőleges irányban a sejtek Android, a widget maga vette fel több helyet, mint a látható része. Azaz, a felhasználó csak akkor jelenik meg a kép egy bizonyos méretet.

Természetesen ez a módszer kerül elénk egy bizonyos keret: a widget, hogy vizsgálja meg a legtöbb natívan, mi volt az egyes méreteknél hogy hozzon létre egy külön elrendezést. Ugyanakkor a javasolt megoldás lehetővé teszi számunkra, hogy megkerüljék a korlátozások kütyü, és így látja el feladatát.

layout = button_countshow_faces = truewidth = 450action = likecolorscheme = lightheight = 21locale = hu "style =" border: none; overflow: hidden; szélesség: 90px; magasság: 21px; "class =" alignright „>