I denne serien av raske tips har vi sett på noen av de kommende brukergrensesnittendringene du kan begynne å jobbe med i dag, via Android O Developer Preview.
I dette siste innlegget i serien ser vi hvordan du kan lage lanseringsikoner som integreres perfekt med enhetens bredere brukergrensesnitt, og hvordan du lager snarveier som gjør det mulig for brukere å hoppe direkte til appens viktigste handlinger, direkte fra deres hjemmeskjerm.
Med utgivelsen av Android O, vil Original Equipment Manufacturers (OEM) som HTC og Samsung få muligheten til å gi en maske som systemet vil gjelde for alle applikasjonsrapporteringsikonene. Masker sørger for at alle ikonene som vises på den enheten har samme form: Hvis OEM har en sirkulær maske, vil alle ikonene for programstartere være sirkulære, og hvis den gir en avrundet kvadrat (eller "squircle") maske, så vil alle ikonene vil ha avrundede hjørner.
Disse adaptive ikonene er ment å gi et mer konsekvent utseende over enhetens lanseringsprogram og i andre områder hvor lanseringsikonene er fremtredende, for eksempel enhetens innstillinger og deling av dialoger.
For å sikre at lanseringsikonene vises riktig, uansett hvilken maske som brukes, må du gjøre noen justeringer.
Før du begynner, må du kontrollere at manifesten din er android: icon
Attributt peker på bildet du vil bruke som launcher-ikonet:
Hvert adaptivt ikon består av et bakgrunnslag, et forgrunnslag og en maske. Sistnevnte leveres av OEM, men du må gi bakgrunns- og forgrunnslag. For de beste resultatene, bør disse lagene være PNG uten masker eller bakgrunnsskygger. Begge lagene må være 108x108 dpi, men den indre 72x72 dpi er innholdet som skal vises i det maskerte visningsporten, da systemet forbeholder den ytre 36 dpi rundt ikonet for visuelle effekter, for eksempel pulserende eller parallax.
Lag dine bakgrunns- og forgrunnslag og legg dem til prosjektet ditt. Deretter oppretter du en res / mipmap-anydpi / ic_launcher.xml fil og bruk den for å referere til de to tegningene du vil bruke som bakgrunn og forgrunnslag, for eksempel:
http://schemas.android.com/apk/res/android ">
Avhengig av utformingen av ditt bestemte ikon er det mulig at sirkulære masker kan kutte av noe viktig innhold. Hvis du mistenker at sirkulære masker kan forårsake et problem for ikonet ditt, kan du opprette et eget sirkulært ikon som systemet vil bruke når det gjelder en sirkulær maske.
Opprett dette sirkulære ikonet, legg det til prosjektet ditt, og referer deretter denne versjonen av ikonet til prosjektets manifest, ved hjelp av android: roundIcon
Egenskap.
Noen enheter som kjører Android, tillater brukere å peke program snarveier til startprogrammet. Disse snarveiene vises som separate ikoner som brukeren starter ved å trykke på akkurat samme måte som de samhandler med vanlige programrapporteringsikoner.
Hver søknadssnarvei refererer til en eller flere Intents, som hver starter en spesifikk handling i appen din. Dette gjør pinnede snarveier til en flott måte å la brukerne hoppe til appens viktigste oppgaver og innhold rett fra deres startskjerm. For eksempel kan du opprette en snarvei som tar brukeren til det siste lagringspunktet i spillappen din, eller til deres mest brukte kontakt.
Det er ingen grense for antall pinnede snarveier du kan tilby, men for å sikre at appen ikke overtar brukerens startprogram, anbefales det at du bare tilbyr fire snarveier til enhver tid.
For å tilby en eller flere fastkjørte snarveier må du først opprette en forekomst av ShortcutManager
:
ShortcutManager myShortcutManager = context.getSystemService (ShortcutManager.class);
Kontroller deretter at brukerens enhet faktisk støtter pinnede snarveier:
hvis (mShortcutManager.isRequestPinShortcutSupported ())
Dette returnerer EKTE
hvis standard launcher støtter requestPinShortcut
.
Forutsatt at enheten støtter snarveier i appen, kan du deretter opprette en ShortcutInfo
objekt som inneholder en ID, en hensikt og en etikett for denne bestemte snarveien.
ShortcutInfo pinShortcutInfo = ShortcutInfo.Builder (kontekst, "min snarvei"); .setShortLabel (getString (R.string.shortcut_label)) .setLongLabel (getString (R.string.shortcut_long_label)) .setIcon (Icon.createWithResource (kontekst, R.mipmap.ic_launcher)) .setIntent (ny Intent (Intent.ACTION_VIEW, Uri.parse ("https://www.google.com"))) .build ();
Endelig peker du på snarveien ved å ringe requestPinShortcut ()
.Standard launcher vil motta denne forespørselen, og deretter be brukeren å godkjenne eller nekte pinning-operasjonen. Hvis appen din trenger å vite om pinning-operasjonen var en suksess, kan du også på dette tidspunktet opprette en PendingIntent
gjenstand.
// Her antar vi at vårt prosjekt allerede inneholder en createShortcutResultIntent () metode, som vil returnere sendingsformålet // Intent pinnedShortcutCallbackIntent = createShortcutResultIntent (pinShortcutInfo); PendingIntent successCallback = PendingIntent.createBroadcast (kontekst, 0, pinnedShortcutCallbackIntent); mShortcutManager.requestPinShortcut (pinShortcutInfo, successCallback.getIntentSender ());
Dette PendingIntent
vil bare sende a resultIntent
hvis pinning-operasjonen er en suksess. Appen din mottar ikke varsling hvis operasjonen mislykkes.
Når pinnen er opprettet, kan du oppdatere innholdet ved hjelp av updateShortcuts ()
metode. Bare vær oppmerksom på at fast innhold eller handlinger vanligvis har en holdbarhetstid. I vårt spilleksempel kan brukeren komme til slutten av spillet eller slette lagringsfilen, da vil du ikke ha noe innhold for å vise din spinnede snarvei..
Selv om det er fristende å resirkulere en sporet snarvei ved å justere den opprinnelige hensikten, er det langt mindre forvirrende for brukeren hvis du deaktiverer snarveier som ikke lenger er relevante. Hvis en sporet snarvei når slutten av livet, kan du deaktivere den ved å ringe disableShortcuts ()
.
I denne serien har vi sett på noen av Android O brukergrensesnittoppdateringene som du kan begynne å eksperimentere med i dag ved å installere den første utviklerforhåndsvisningen. I del ett viste jeg deg hvordan du lager tekst som automatisk skalering basert på den nåværende skjermkonfigurasjonen; i del to så vi på å legge til tilpassede skrifter til Android-prosjektene dine, og i dette siste innlegget i serien har vi dekket adaptive ikoner og pinnede snarveier.
Mens du er her, sjekk ut noen av våre andre innlegg på Android app utvikling!