Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Windows 10
  • Način rada s više prozora za Android 4.1. Kako koristiti način rada s više prozora na Androidu

Način rada s više prozora za Android 4.1. Kako koristiti način rada s više prozora na Androidu

Svatko tko je radio u načinu rada s više prozora na Android uređaju može potvrditi da je vrlo zgodan u određenim situacijama. Jednostavan primjer: čitanje e-knjige s elektroničkim rječnikom. Pogotovo na pametnom telefonu ili tabletu s prilično velikim zaslonom.
Ako korisnik mora birati između dvije gotovo u svemu slične aplikacije, ali se razlikuju po podršci za istovremeni rad s više prozora, ne čudi što će odabrati onu koja takvu podršku pruža.

U ovom ćete članku naučiti o načinu rada s više prozora u Androidu i kako koristiti ovu značajku pri izradi vlastitih aplikacija.

Pregled

Simultani rad s više prozora u Androidu zanimljiva je značajka koja vašu aplikaciju može istaknuti od mnogih drugih i dati joj dodatnu konkurentsku prednost. Mnogi OEM i ODM proizvođači, kao što su Samsung, Ramos i Huawei, prilagođavaju osnovni Android sustav. Konkretno, uvode podršku za način rada s više prozora. To čine kako bi povećali atraktivnost svojih pametnih telefona i tableta, kako bi ih razlikovali od većine uređaja koji ne podržavaju takvu funkciju.


Scenariji za korištenje načina s više prozora

Preliminarne informacije

Uveden je u lipnju 2012 Kamen temeljac je prva platforma otvorenog koda za multitasking na Androidu. U kolovozu 2012. Samsung je izdao prvi uređaj koji podržava način rada s više prozora. Od 2013. do danas može se promatrati eksplozivan rast rješenja za podršku istovremenog rada s više prozora u Androidu.

U svibnju 2015. objavljen je Android M Developer Preview (danas, u srpnju, Preview 2 je već dostupan). Službeno izdanje Androida M (6.0) očekuje se u jesen 2015. godine. Između ostalih inovacija, Android M Preview 2 ističe se podrškom za način rada s više prozora.


Razvoj rješenja za podršku multitaskingu u Androidu

Postoje dva pristupa radu s više prozora: korištenje plutajućih i usidrenih prozora. Među glavnim značajkama rada u načinima s više prozora su otvaranje i zatvaranje prozora (open/close), promjena njihove veličine (resize) i relativnog položaja (swap). Otvaranjem ili zatvaranjem prozora mi, sukladno tome, uključujemo ili onemogućujemo način rada s više prozora. Značajka promjene veličine omogućuje vam podešavanje veličine prozora. Promjena rasporeda prozora radnja je koja vam omogućuje promjenu mjesta.


Načini s više prozora

U 2013. godini na tržištu su se pojavila mnoga rješenja dizajnirana za rad s više prozora. Razvili su ih OEM-i, ODM-ovi, neovisni dobavljači softvera i zajednica otvorenog koda. U donjoj tablici možete pronaći usporedbu različitih tehnologija za organizaciju rada s više prozora u Android okruženju.

Proizvod Kamen temeljac Isticati se Xposed Tieto
Opis
Okvir za organiziranje višezadaćnog rada u Android OS-u
Knjižnica otvorenog koda koja se može koristiti za izradu aplikacija s plutajućim prozorima
Aplikacija s više prozora koja podržava usidrene prozore
Cilj projekta je stvoriti radno okruženje koje podsjeća na rad na stolnom računalu
Podržava otvaranje, zatvaranje prozora, promjenu veličine, proširenje na cijeli zaslon
Da
Da
Da
Da
Stil prozora
Prikvačeno
plutajući
Prikvačeno
Fiksni i plutajući
Modifikacija koda
Na razini Android platforme
Na razini aplikacije
Na razini Android platforme
Na razini Android platforme
Podrška za aplikacije
Sve su aplikacije podržane; međutim, dinamička konfiguracija SurfaceViewa nije dostupna.
Neke prateće aplikacije. Na primjer, kalkulator.
Potrebno je poboljšati kompatibilnost i stabilnost rješenja.
Podržava sve aplikacije.
Android verzija
Android 4.1. – Android 4.4.
Android 4.1. – Android 4.4.
Android 4.4.
Android 4.4
Službena stranica
Plakati
Plakati
Plakati
Plakati

Arhitektura softvera

Kod platforme Android može se modificirati da podržava dodatne značajke. Arhitektura OS Android sastoji se od nekoliko slojeva.

U slučaju Androida 4.2 i Androida 4.3, pokretač i druge aplikacije stavljaju se u jedan stog pri pokretanju, koji se naziva "glavni stog". Kao što znate, način rada s više prozora zahtijeva više nizova za smještaj više prozora. Kao rezultat toga, trebate modificirati klasu sustava ActivityManagerService dodavanjem sučelja za stvaranje i upravljanje hrpom. Za izmjenu klase platforme WIndowManagerService, koja vam omogućuje upravljanje grafičkim prikazima aplikacija, trebate izmijeniti InputManager. To je neophodno kako bi mogao preusmjeriti događaje dodira na odgovarajuće prozore.

Izlaskom Androida 4.4 i Androida 5.0, pristup upravljanju snopom značajno se promijenio. Ljuska i druge aplikacije mogu se izvoditi na različitim hrpama. Sustavu je dodana podrška za višestruke hrpe i mogućnost upravljanja njima. Donja slika prikazuje razlike u radu sa stogom u različitim verzijama Androida.


Usporedba rada sa stogom u Androidu 4.3 i Androidu 4.4

Sada se usredotočimo na Android 5 (Lollipop). Android OS koristi mehanizme povratnog poziva za izvršavanje funkcija sučelja Activity. Međutim, funkcija upravljanja implementirana je na razini platforme. Dakle, sada ćemo pogledati dvije važne klase: ActivityManagerService i WindowManagerService.


Softverska struktura Lollipop platforme

Upravljanje aktivnostima u Lollipopu

Budući da mogućnost rada u načinu s više prozora ovisi o stogu, sljedeće pokazuje kako možete stvoriti stog i kako možete pokrenuti aktivnost na tom stogu. U Lollipopu su sljedeće funkcije dodane sučelju IactivityManager.java:

Jednom pokrenut, SystemServer proces poziva usluge upravitelja aktivnosti i usluge upravljanja prozorima. Kako bismo promatrali ovaj proces, možemo dodati naredbe za izbacivanje iznimke vremena izvođenja (RuntimeException) na odgovarajuća mjesta.


Proces stvaranja hrpe u Lollipopu

Sada da vidimo kako pokrenuti aktivnost na stogu:


Pokretanje aktivnosti na stogu

U Lollipopu su sljedeće naredbe dodane uslužnom programu ADB (Android Debug Bridge):

Upravljanje prozorima u Lollipopu

WindowManagerService središnji je dio sustava za upravljanje prozorima. Njegova funkcionalnost uključuje otpremu ulaznih događaja, kontrolu položaja objekata na ekranu i površina na kojima se prikazuju grafički elementi.


Uloga WindowsManagerService Android grafička arhitektura

Problemi s više prozora

Kada radite u načinu s više prozora, možete promijeniti veličinu prozora. Postoje primjeri kada se veličina prozora koji prikazuje animaciju igre ne može promijeniti. Glavni razlog za to je taj što podsustav Android SurfaceFlinger ne može dinamički promijeniti veličinu izlazne slike.


Igre koje koriste SurfaceFlinger ne mogu dinamički promijeniti veličinu prozora

Drugi problem je što se neke aplikacije ne prikazuju ispravno u načinu rada s više prozora. Na slici ispod možete vidjeti da se kalkulator ne prikazuje ispravno u načinu rada s više prozora. Sve je u izgledu aplikacije koja nije dizajnirana za takve uvjete korištenja.


Kalkulator s izgledom koji nije dizajniran za rad u načinu s više prozora

Podrška za više prozora u Androidu M

Android M Developer Preview 2 može se pokrenuti na Nexus 5, 6, 9 i Nexus Player. Ako nemate takav uređaj ili ne želite na njega instalirati OS koji je u statusu Preview, s Androidom M se možete upoznati pomoću emulatora u Android Studiju. Konkretno, sada nas zanimaju standardni alati za rad u načinu rada s više prozora.

Kako biste vidjeli ovaj način rada na djelu, samo kreirajte novi virtualni uređaj pomoću alata AVD Manager, odabirom jednog od onih dostupnih s Level MNC API kao sliku sustava. U našem slučaju to je bila x86_64 slika. Zatim morate pokrenuti emulator, otići u odjeljak Postavke programera i tamo omogućiti opciju Multi-window mode. Ako ne možete pronaći takvu opciju, pogledajte ovaj vodič

Sada dolazi zabavni dio. Za početak možete pokrenuti nekoliko aplikacija, sve će biti kao i obično. Ali ako kliknete na gumb za pozivanje popisa nedavno otvorenih aplikacija, pojavit će se nova ikona u naslovnim trakama minijatura prozora. Prema zadanim postavkama, ovo je okvir koji označava da aplikacija radi u načinu rada preko cijelog zaslona. Ako kliknete na ovu ikonu, pojavit će se izbornik za odabir izgleda prozora.


Izbornik za odabir izgleda prozora u načinu rada s više prozora


Način rada s više prozora u Androidu M

Još uvijek nije poznato hoće li rad s više prozora biti dostupan u službenom izdanju Androida M. Međutim, na primjer, kalkulator sustava se dobro osjeća u ovom načinu rada. Kao rezultat toga, imamo dobar razlog vjerovati da nije daleko dan kada će se prilagodba aplikacija za način rada s više prozora iz konkurentske prednosti pretvoriti u hitnu potrebu.

Ako želite svoje aplikacije dizajnirane za starije verzije Androida opremiti podrškom za višestruke prozore, vrijeme je da se okrenete rješenjima trećih strana o kojima smo govorili gore. Na primjer, u Cornerstone.

Primjer: Kamen temeljac

Onskreen je stvorio Cornerstone, prvi okvir s više prozora na Androidu. Namijenjen je uređajima s velikim zaslonima i tabletima. Izvorni kod se može preuzeti na Githubu. Podržava Android verzije 4.1 i 4.2. Cornerstone još nije objavljen za kasnije verzije ovog OS-a. Međutim, možete analizirati izvorni kod za Android 4.2 kako biste saznali tehničke detalje sustava.


Temeljne izmjene u Androidu Jelly Bean

Rezultati

Mnogi mobilni uređaji s operativnim sustavom Android koriste Intel® procesore. Kako programeri mogu poboljšati korisničko iskustvo svojih aplikacija? Kako aplikacije učiniti konkurentnijima? Ova pitanja navode nas na neprestano poboljšavanje proizvoda na uređajima Intelove arhitekture (IA). Podrška za više prozora dobar je primjer korisne značajke koja aplikacijama daje konkurentsku prednost. Ovo je zgodno; način rada s više prozora daje korisniku mogućnost obavljanja nekoliko zadataka istovremeno. Na primjer, pogledajte video i napišite recenziju svojim prijateljima o onome što gledate. Na primjer, igrajte igru ​​i pročitajte njezine recenzije. Danas više uređaja podržava način rada s više prozora. Na primjer, to su tableti Ramos i12, Teclast x98 i Cube i7 koji pokreće Remix OS.


Način rada s više prozora na IA uređajima

Kao što već znamo, Android Nougat verzija dolazi s puno značajki koje mogu učiniti korisničko iskustvo što lakšim. Istaknute značajke najnovijeg ažuriranja Androida uključuju poboljšanu ploču s obavijestima, optimizacije prijenosa podataka i uštede energije te podršku za uređaje virtualne stvarnosti. Jedan od najvažnijih aspekata inovacije, koja je osvojila mnoge obožavatelje (uključujući i nas), je skup opcija za upravljanje zadacima. Zahvaljujući najnovijem ažuriranju za Android 7.0 Nougat, sada možete koristiti dvije aplikacije istovremeno u načinu rada s više prozora.

Bilješka

Želimo vas obavijestiti da nisu sve aplikacije iste prirode,
i zbog toga ćete uvidjeti da nisu svi kompatibilni s načinom rada s više prozora. Međutim, ne biste trebali brinuti - to nije vaša greška, već greška programera, budući da će im trebati još neko vrijeme za izradu sljedećeg ažuriranja prije nego što druge aplikacije mogu raditi u gore navedenom načinu rada. Danas postoji način da se zaobiđe ovaj problem. Možete pokrenuti bilo koju aplikaciju u načinu rada s više prozora iz "Alata za razvojne programere" u najnovijoj verziji Googleovog mobilnog operativnog sustava.

Pokrenite bilo koju aplikaciju u načinu s više prozora u Androidu Nougat

Prvo morate aktivirati stavku "Alati za razvojne programere" na svom telefonu. Da biste to učinili, idite na “Postavke > Alati za razvojne programere > O uređaju”. Zatim nekoliko puta kliknite broj izrade dok ne vidite poruku da ste postali programer.

Sada se ponovno vratite na izbornik postavki i otvorite Developer Tools. Pomaknite se do dna stranice i omogućite opciju "Prisilno mijenjanje veličine operacija". Kada to učinite, morat ćete ponovno pokrenuti uređaj kako biste aktivirali ovu opciju. Nakon toga, čak i one aplikacije koje nisu bile kompatibilne s ažuriranjem Nougata moći će raditi u načinu rada s više prozora.

Na kraju, kako biste iskoristili način rada s više prozora, otvorite dvije aplikacije po svom izboru, zatim pritisnite i držite tipku za više zadataka. Sada će se obje ove aplikacije otvoriti u načinu s više prozora.

Mislite li da će način rada s više prozora biti koristan za vaše potrebe obavljanja više zadataka? Ili ćete se za sada držati tradicionalnijeg pristupa samo jednom zadatku? Podijelite svoje mišljenje s nama u komentarima.

Pažnja! U članku se koriste snimke zaslona i opcije iz operativnog sustava Android 7.1. Iako bi većina opisanih elemenata trebala biti prisutna u drugim verzijama Androida, autor to ne jamči.

Kako omogućiti razvojne opcije

Unatoč činjenici da će se ovaj članak usredotočiti na postavke za programere, nemojte se uplašiti ovog naziva. Neke od opcija predstavljenih u ovom odjeljku također će biti korisne običnim korisnicima. Prema zadanim postavkama nisu prikazani u postavkama, ali to je lako popraviti.

  1. Otvorite Android postavke i idite na O telefonu.
  2. Pomaknite se do samog dna. Pronađite redak "Broj izrade".
  3. Napravite sedam brzih dodira na ovom elementu za redom. Kao rezultat toga, trebala bi se prikazati obavijest da ste sada postali programer, a odgovarajući odjeljak pojavit će se u izborniku postavki.

Sada pogledajmo neke od mogućnosti koje su nam dostupne.

Neki programeri posebno onemogućuju mogućnost instaliranja na SD karticu u svojim aplikacijama. Pomoću prekidača "Dopusti spremanje u vanjsku pohranu" to možete dopustiti bez obzira na želje razvojnog programera.

Imajte na umu da razvojni programer može imati valjan razlog za zabranu instalacije na vanjsku karticu. Neki su programi strogo vezani uz određenu lokaciju i neće raditi ako nisu instalirani tamo gdje ih je programer zamislio. Stoga ovu značajku trebate koristiti s oprezom.

Način rada s više prozora značajka je najnovijih verzija Googleovih operativnih sustava. No, da bi ova funkcija radila, potrebna je ne samo ispravna verzija Androida, već i podrška u samim aplikacijama, o čemu se, nažalost, nisu pobrinuli svi programeri.

Pomoću opcije "Promijeni veličinu u načinu rada s više prozora" možete koristiti bilo koju aplikaciju u ovom načinu rada.

Obično pametni telefoni automatski isključuju zaslon tijekom neaktivnosti radi uštede baterije. Međutim, u nekim slučajevima ova značajka nije potrebna. Na primjer, ako želite koristiti stari pametni telefon kao stolni sat ili u automobilu kao navigator.

Opcija "Zadrži ekran uključen" omogućit će da pametni telefon ostane u aktivnom načinu rada cijelo vrijeme dok je spojen na punjač.

Ovo je jedna od najkorisnijih opcija koja vam omogućuje postizanje značajnog vizualnog ubrzanja Androida. Činjenica je da neki proizvođači, u potrazi za wow efektima, preopterećuju operativni sustav prekrasnom animacijom.

U ovom odjeljku opcija za razvojne programere možete samostalno postaviti vrijeme njihova prikazivanja ili ih potpuno onemogućiti. Kao rezultat toga, činit će se da je sustav jednostavno počeo letjeti.

Ako vaš uređaj koristi AMOLED zaslon, tada je broj prikazanih boja stvarno važan za uštedu baterije. Kako biste izdržali još dulje s preostalim punjenjem, jednostavno aktivirajte jednobojni način rada. Ova je opcija također skrivena u postavkama programera i zove se “Simulate anomaly”.

Koje korisne opcije za programere koristite?

U Androidu 6.0 skrivena je eksperimentalna opcija koja vam omogućuje korištenje načina s više prozora. Aktivirati ga je relativno teško, ali ako se pravilno izvede, s tim ne bi trebalo biti poteškoća. Za razliku od slične funkcije na Samsung pametnim telefonima, radi sa svim aplikacijama.

Kako bi se opcija s više prozora pojavila na Androidu 6.0, trebate samo urediti datoteku build.prop, naznačujući u njoj da koristite userdebug build, a ne korisnički. To se može učiniti pomoću računala i prilagođenog oporavka, a ako uređaj ima root pristup, pomoću običnog uređivača teksta.

Prvi način

1. Instalirajte prilagođeni oporavak (na primjer, TWRP) na svoj uređaj. Da biste to učinili, preuzmite i instalirajte ADB iz Android SDK-a. Zatim preuzmite sliku za oporavak za svoj uređaj, preimenujte je u twrp.img i smjestite ADB mapu.

2. Povežite pametni telefon s računalom pomoću USB kabela, otvorite naredbeni redak i pokrenite tri naredbe:

adb ponovno pokretanje pokretačkog programa
brzo pokretanje flash oporavak twrp.img
brzo pokretanje ponovno pokretanje

3. Isključite svoj pametni telefon i uđite u oporavak pritiskom na određenu kombinaciju tipki (obično tipka za napajanje i tipke za povećanje i smanjenje glasnoće).

4. U oporavku odaberite odjeljak Montaže i stavite križić pokraj Sustav.

5. Povežite pametni telefon s računalom pomoću kabela i unesite sljedeću naredbu na računalu u naredbeni redak:

Adb pull /system/build.prop

6. Datoteka build.prop bit će preuzeta na vaše računalo. Otvorite ga u Notepadu i zamijenite redak "ro.build.type=user" s "ro.build.type=userdebug"



7. Preuzmite datoteku build.prop natrag na svoj pametni telefon unosom naredbe u naredbeni redak:

Adb push build.prop /system/

8. Navedite još tri naredbe koje su potrebne za sprječavanje aplikacija trećih strana da mijenjaju build.prop:

adb ljuska
cd sustav
chmod 644 build.prop

9. Ponovno pokrenite pametni telefon i aktivirajte više prozora u postavkama za razvojne programere.

Drugi način

Na rootanim pametnim telefonima, uređivanje build.prop datoteke puno je lakše. To se može učiniti pomoću posebne aplikacije Build Prop Editor ili pomoću uređivača teksta ugrađenog u upravitelj datotekama poput Root Explorera ili X-Plorea. Datoteka se nalazi na /system/build.prop, au njoj je potrebno zamijeniti liniju “ro.build.type=user” sa “ro.build.type=userdebug”.

Kako aktivirati više prozora?

1. Otvorite Postavke sustava, idite na O uređaju i dodirnite broj verzije Androida nekoliko puta.

2. U postavkama će se pojaviti odjeljak za programere. Uđite u njega - vidjet ćete prekidač koji vam omogućuje aktiviranje više prozora.

3. Otvorite zaslon za više zadataka dugim pritiskom na gumb početne stranice (ili virtualni gumb). Vidjet ćete novu ikonu u minijaturama stranice aplikacije. Nakon što kliknete na nju, sustav će ponuditi odabir lokacije aplikacije: na polovici, četvrtini zaslona ili na cijelom zaslonu. Kada je otvoreno nekoliko aplikacija, proporcije njihovih prozora mogu se mijenjati.

Google će ovu značajku Androida vjerojatno učiniti dostupnom svim korisnicima u budućnosti. Mislite li da je to potrebno pametnim telefonima i tabletima ili je potpuno beskorisno?

Android N dodaje podršku za prikaz više aplikacija odjednom. Na mobilnim uređajima dvije aplikacije mogu se pokrenuti jedna pored druge ili jedna iznad druge podijeljeni zaslon. Na televizorima aplikacije mogu koristiti "slika u slici" za reprodukciju videozapisa dok korisnici rade u drugoj aplikaciji.

Ako izrađujete aplikaciju koristeći N Preview SDK, možete odrediti kako će se ponašati u načinu rada s više prozora. Na primjer, možete postaviti minimalne dopuštene veličine prozora aplikacije. Također možete onemogućiti način rada s više prozora za aplikaciju tako da se prikazuje samo na cijelom zaslonu.

Pregled

U Android N, više aplikacija može biti na ekranu u isto vrijeme. Na primjer, korisnik može podijeliti zaslon kako bi vidio web stranicu s lijeve strane i napisati e-poštu s desne strane. Korisničke mogućnosti razlikuju se ovisno o uređaju.

  • Način rada podijeljenog zaslona dostupan je na Android N mobilnim uređajima. U ovom načinu, dvije aplikacije se prikazuju jedna pored druge ili jedna iznad druge. Korisnik može povući razdvojenu liniju kako bi povećao prozor jedne aplikacije i smanjio prozor druge.
  • Na Nexus uređajima sa sustavom Android N bit će dostupan App Player koji će aplikaciji omogućiti prikaz sadržaja dok korisnik pregledava ili komunicira s drugim aplikacijama.
  • Proizvođači većih uređaja mogu omogućiti način slobodnog oblika, gdje korisnik može mijenjati veličinu svakog prozora na bilo koji način. U tom će slučaju, osim načina rada podijeljenog zaslona, ​​ovaj način rada također biti dostupan na uređaju.

Riža. 1. Dvije se aplikacije pojavljuju jedna pored druge u načinu podijeljenog zaslona.

Korisnik se može prebaciti na način rada s više prozora na sljedeće načine.

  • Ako korisnik otvori i dugo pritisne naziv aktivnosti, može se povući na odabrani dio zaslona i prebaciti u način rada s više prozora.
  • Ako korisnik dugo pritisne gumb Pregledaj, uređaj će prebaciti trenutnu aktivnost u način rada s više prozora i otvoriti zaslon s pregledom, gdje korisnik može odabrati drugu aktivnost za dijeljenje.

U ovom načinu rada, u bilo kojem trenutku, aktivna je samo zadnja operacija s kojom je korisnik komunicirao. Ova operacija se smatra onaj gornji. Sve druge operacije su obustavljene, čak i ako su prikazane. Međutim, sustav obustavljenim, ali vidljivim operacijama daje veći prioritet od nevidljivih. Ako korisnik stupi u interakciju s jednom od obustavljenih aktivnosti, ona se nastavlja i prethodna najviša aktivnost se obustavlja.

Bilješka. U načinu rada s više prozora, aplikacija se može pauzirati i dalje biti vidljiva korisniku. Aplikacija će možda morati nastaviti s radom čak i ako je obustavljena. Na primjer, vidljiva pauzirana aplikacija koja reproducira videozapis i dalje će prikazivati ​​videozapis. Zato mi Ne Preporučamo pauziranje reprodukcije u rukovateljima takvih aplikacija. Umjesto toga, trebali biste pauzirati videozapis i nastaviti reprodukciju u .

Ako korisnik stavi aplikaciju u način rada s više prozora, sustav obavještava operaciju o promjeni konfiguracije, kao što je navedeno u dokumentu. U biti, ova promjena ima isti učinak na životni ciklus operacije kao i sustav koji obavještava aplikaciju da se uređaj prebacio iz okomite u vodoravnu orijentaciju, samo se mijenjaju dimenzije zaslona, ​​ne i orijentacija. Kao što je opisano u dokumentu, aktivnost može sama podnijeti promjenu konfiguracije ili može dopustiti sustavu da izbriše prozor aktivnosti i ponovno ga stvori s novim dimenzijama.

Ako korisnik poveća jednu stranu prozora, sustav mijenja veličinu operativnog prozora prema radnji korisnika i primjenjuje prema potrebi. Ako aplikacija ne uspije prikazati nova područja, sustav ih privremeno ispunjava atributom specificirane boje ili zadanim atributom stila windowBackgroundFallback.

Postavljanje aplikacije za način rada s više prozora

Ako je vaša aplikacija za Android N, možete odrediti kako (i hoće li) operacije vaše aplikacije podržavati način rada s više prozora. Atributi kontrole veličine i izgleda postavljeni su u manifestu. Postavke atributa korijenske operacije primjenjuju se na sve operacije u njegovom nizu zadataka.

Bilješka. Ako je aplikacija s više orijentacija izrađena s verzijom SDK-a ranijom od Androida N, a korisnik pokrene aplikaciju u načinu s više prozora, sustav će prisiliti aplikaciju na promjenu veličine. Sustav prikazuje dijaloški okvir koji vas upozorava da bi se aplikacija mogla ponašati na neočekivani način. Sustav Ne mijenja veličinu prozora za aplikacije s fiksnom orijentacijom. Ako korisnik pokuša otvoriti takvu aplikaciju u multi-window modu, ona će zauzeti cijeli zaslon.

android:resizeableActivity

ili manifest za omogućavanje ili onemogućavanje načina rada s više prozora:

Android:resizeableActivity=["true" | "false"]

Kada je ovaj atribut postavljen na true, operacija se može izvoditi u načinima podijeljenog zaslona i slobodnog oblika. Ako je atribut postavljen na false, operacija ne podržava način s više prozora. Ako je vrijednost lažna i korisnik pokuša pokrenuti operaciju u načinu s više prozora, zauzima cijeli zaslon.

Ako aplikacija cilja Android N, ali vrijednost za ovaj atribut nije navedena, tada je zadana vrijednost istinita.

android:supportsPictureInPicture

Postavite ovaj atribut na čvor manifest za označavanje podržava li operacija način slike u slici. Ovaj se atribut ne uzima u obzir ako je android:resizeableActivity postavljen na false.

Android:supportsPictureInPicture=["true" | "false"]

Atributi izgleda

U elementu manifesta Android N podržava nekoliko atributa koji određuju ponašanje operacije u načinu s više prozora.

Android:defaultWidth Zadana širina akcijskog prozora u slobodnom načinu rada. android:defaultHeight Zadana visina akcijskog prozora u slobodnom načinu rada. android:gravity Početna pozicija prozora operacija u slobodnom načinu rada. Za važeće vrijednosti pogledajte opis klase. android:minimalSize Minimalne vrijednosti za visinu i širinu radnog prozora u načinima podijeljenog zaslona i slobodnog oblika. Ako korisnik pomakne razdjelnu liniju u načinu podijeljenog zaslona kako bi radni prozor bio manji od navedenog minimuma, sustav ga izrezuje na veličinu koju korisnik traži.

Sljedeći primjer koda pokazuje kako postaviti zadanu veličinu i položaj akcijskog prozora, kao i njegovu minimalnu veličinu u slobodnom načinu rada:

Pokretanje aplikacije u načinu rada s više prozora

Android N predstavlja nove značajke za podršku aplikacijama u načinu rada s više prozora.

Nedostupne značajke u načinu s više prozora

Neke su značajke onemogućene ili zanemarene u načinu s više prozora jer nemaju smisla za operaciju koja se pojavljuje na zaslonu uređaja u isto vrijeme kad i druge operacije ili aplikacije. Dolje su navedeni primjeri takvih mogućnosti.

  • Neke opcije prilagodbe su onemogućene. Na primjer, aplikacije ne mogu sakriti statusnu traku osim ako se ne izvode na cijelom zaslonu.
  • Sustav ne uzima u obzir promjene atributa.

Promjena obavijesti i upita u načinu s više prozora

Activity.inMultiWindow() Pozovite ovu metodu da saznate je li aktivnost u načinu rada s više prozora. Activity.inPictureInPicture() Pozovite ovu metodu da saznate je li aktivnost u načinu slike u slici.

Bilješka. Način rada slika u slici poseban je slučaj načina rada s više prozora. Ako myActivity.inPictureInPicture() vraća true, myActivity.inMultiWindow() također vraća true.

Activity.onMultiWindowChanged() Sustav poziva ovu metodu kada aktivnost uđe ili izađe iz načina s više prozora. Sustav prosljeđuje true metodi ako operacija uđe u način rada s više prozora, a false ako izlazi iz načina rada s više prozora. Activity.onPictureInPictureChanged() Sustav poziva ovu metodu kada se aktivnost promijeni u način rada slika u slici. Sustav prosljeđuje true metodi ako operacija ulazi u način rada slika u slici, a false ako izlazi iz načina rada slika u slici.

Pokretanje novih operacija u načinu s više prozora

Prilikom pokretanja nove operacije, možete reći sustavu da novi prozor operacije treba biti prikazan pored trenutnog, ako je moguće. Da biste to učinili, koristite oznaku Intent.FLAG_ACTIVITY_LAUNCH_TO_ADJACENT. Ova zastavica zahtijeva sljedeće ponašanje.

  • Ako je uređaj u načinu podijeljenog zaslona, ​​sustav pokušava stvoriti novi prozor aktivnosti pored prozora aktivnosti koja ga je pokrenula, kako bi dvije aktivnosti stale na zaslon. Ne postoji jamstvo da će sustav to moći učiniti, ali ako može, transakcije se prikazuju jedna pored druge.
  • Ako uređaj nije u načinu podijeljenog zaslona, ​​ova se zastavica zanemaruje.

Ako je uređaj u slobodnom načinu rada kada pokrenete novu aktivnost, možete postaviti veličinu i položaj prozora nove aktivnosti pozivanjem metode ActivityOptions.setLaunchBounds(). Ova metoda se zanemaruje ako uređaj nije u načinu rada s više prozora.

Bilješka. Ako pokrenete aktivnost na stogu zadataka, ona će zamijeniti aktivnost na ekranu, nasljeđujući sva svojstva više prozora. Za pokretanje nove aktivnosti u zasebnom prozoru u načinu s više prozora, mora se pokrenuti u novom nizu zadataka.

Podrška za povlačenje i ispuštanje

android.view.DropPermissions Token objekt za označavanje dopuštenja za aplikaciju u koju se ispuštaju podaci. View.startDragAndDrop() Novi alias za . Da biste omogućili povlačenje između operacija, proslijedite novu zastavu View.DRAG_FLAG_GLOBAL. Ako operaciji primanja trebate dodijeliti dozvole za čitanje ili pisanje URI-ja, proslijedite novu oznaku View.DRAG_FLAG_GLOBAL_URI_READ odnosno View.DRAG_FLAG_GLOBAL_URI_WRITE. View.cancelDragAndDrop() Otkazuje trenutnu operaciju povlačenja. Ovu metodu može pozvati samo aplikacija u kojoj je pokrenuta operacija povlačenja i ispuštanja. View.updateDragShadow() Zamjenjuje sjenu trenutne operacije povlačenja. Ovu metodu može pozvati samo aplikacija u kojoj je pokrenuta operacija povlačenja i ispuštanja. Activity.requestDropPermissions() Zahtijeva dopuštenja za URI sadržaja proslijeđen u objektu .

Testiranje aplikacije u načinu rada s više prozora

Bez obzira na to ažurirate li svoju aplikaciju na Android N, trebate potvrditi njezino ponašanje s više prozora u slučaju da je korisnik pokuša pokrenuti u tom načinu rada na Android N uređaju.

Testirajte postavljanje uređaja

Ako instalirate Android N na svoj uređaj, način rada podijeljenog zaslona automatski će biti podržan.

Ako je aplikacija stvorena bez korištenja N Preview SDK

Ako niste upotrijebili N Preview SDK za izradu aplikacije, a korisnik je pokuša pokrenuti u načinu s više prozora, sustav će prisilno promijeniti veličinu prozora aplikacije ako njegova orijentacija nije fiksna.

Ako aplikacija nije postavljena na fiksnu orijentaciju, trebali biste je pokrenuti na svom Android N uređaju i pokušati je staviti u način rada podijeljenog zaslona. Provjerite radi li vaša aplikacija dobro nakon prisilne promjene veličine.

Ako je aplikacija postavljena na fiksnu orijentaciju, pokušajte je postaviti na način s više prozora. Provjerite ostaje li aplikacija u načinu rada preko cijelog zaslona.

Ako aplikacija podržava način rada s više prozora

Ako ste koristili N Preview SDK za izradu svoje aplikacije i niste onemogućili podršku za više prozora, testirajte aplikaciju kako je opisano u nastavku u načinima podijeljenog zaslona i slobodnog oblika.

  • Pokrenite aplikaciju u načinu rada preko cijelog zaslona, ​​a zatim se prebacite u način rada s više prozora dugim pritiskom na gumb Pregledaj. Provjerite prebacuje li se aplikacija ispravno između načina rada.
  • Pokrenite aplikaciju izravno u načinu s više prozora i provjerite radi li dobro. Aplikaciju možete pokrenuti u načinu s više prozora tako da kliknete gumb Pregledaj, zatim dugo pritisnete naslovnu traku aplikacije i povučete je na jedno od označenih područja na zaslonu.
  • Promijenite veličinu prozora aplikacije u načinu podijeljenog zaslona povlačenjem linije dijeljenja. Provjerite da promjena veličine ne uzrokuje pad i da potrebni elementi sučelja ostanu vidljivi.
  • Ako ste naveli minimalnu veličinu prozora aplikacije, pokušajte postaviti veličinu manju od minimalne. Provjerite ne možete postaviti veličinu ispod navedenog minimuma.
  • Tijekom svih testova pratite izvedbu aplikacije - trebala bi biti prihvatljiva. Na primjer, provjerite da nakon promjene veličine prozora aplikacije nema velikog kašnjenja u ažuriranju sučelja.

Kontrolni popis testiranja

Za testiranje izvedbe aplikacije u načinu s više prozora, slijedite ove korake: Isprobajte ih u načinu podijeljenog zaslona i načinu s više prozora osim ako nije drugačije navedeno.

  • Uđite i izađite iz načina rada s više prozora.
  • Prebacite se sa svoje aplikacije na drugu i provjerite radi li aplikacija dobro ako je vidljiva, ali nije aktivna. Na primjer, ako aplikacija prikazuje videozapis, trebao bi nastaviti s reprodukcijom dok korisnik koristi drugu aplikaciju.
  • U načinu podijeljenog zaslona pokušajte pomicati liniju podijeljenog tako da prozor aplikacije bude veći ili manji. Isprobajte ove operacije kada su dva prozora aplikacije jedan pored drugog i jedan na drugom. Provjerite da se aplikacija ne ruši, da su potrebni elementi vidljivi i da promjena veličine ne traje predugo.
  • Brzo promijenite veličinu prozora aplikacije nekoliko puta zaredom. Pazite da se aplikacija ne zamrzne ili ne uzrokuje curenje memorije. Za informacije o provjeri upotrebe memorije aplikacije, pogledajte dokument.
  • Pokrenite aplikaciju u različitim konfiguracijama prozora kako biste bili sigurni da se ponaša prema očekivanjima. Tekst treba biti lako čitljiv, a elementi sučelja ne smiju biti premali.

Ako ste onemogućili podršku za više prozora

Ako ste onemogućili podršku za više prozora postavljanjem atributa android:resizableActivity="false", pokrenite aplikaciju na Android N uređaju i pokušajte je postaviti na način slobodnog oblika i podijeljenog zaslona. Provjerite ostaje li aplikacija u načinu rada preko cijelog zaslona.

Najbolji članci na temu