Kā atspējot ainavas režīmu operētājsistēmā Android?

Kā es varu atspējot ainavas režīmu dažiem Android lietotnes skatiem?

Risinājums

Pievienojiet android:screenOrientation="portrait" darbībai AndroidManifest.xml. Piemēram:

EDIT: Tā kā šī ir kļuvusi par superpopulāru atbildi, es jūtos ļoti vainīgs, jo portreta uzspiešana reti kad ir pareizais risinājums problēmām, kurām tā tiek pielietota.
Galvenie iebildumi saistībā ar piespiedu portretu:

  • Tas neatbrīvo jūs no nepieciešamības domāt par aktivitāti. dzīves cikla notikumiem vai pareizu stāvokļa saglabāšanu/atjaunošanu. Ir daudz lietu, kas var izraisīt aktivitāti, izņemot lietotnes rotāciju iznīcināšanu/atjaunošanu, tostarp tādas nenovēršamas lietas kā daudzuzdevumu darbība. Īsceļu nav; iemācieties izmantot saišķus un retainInstance fragmentus.
  • Paturiet prātā, ka atšķirībā no diezgan viendabīgās iPhone lietošanas pieredzes dažās ierīcēs portreta orientācija nav vispopulārākā orientācija. Ja lietotāji izmanto ierīces ar aparatūras tastatūrām vai spēļu paliktņiem, piemēram, Nvidia Shield, Chromebook, Foldables vai Samsung DeX, portreta orientācijas uzspiešana var ierobežot jūsu lietotņu lietošanas pieredzi vai radīt milzīgas lietošanas grūtības. Ja jūsu lietotnei nav spēcīgu UX argumentu, kas varētu radīt negatīvu pieredzi citu orientāciju atbalstīšanas gadījumā, iespējams, nevajadzētu piespiest lietotni izmantot portretu. Es runāju par tādām lietām kā "šī ir kases aparāta lietojumprogramma vienam konkrētam planšetdatora modelim, kas vienmēr tiek lietots fiksētā aparatūras dokā."

Tāpēc lielākajai daļai lietotņu vajadzētu ļaut tālruņa sensoriem, programmatūrai un fiziskajai konfigurācijai pašiem pieņemt lēmumu par to, kā lietotājs vēlas mijiedarboties ar jūsu lietotni. Tomēr ir daži gadījumi, par kuriem vēl vajadzētu padomāt, ja jūs neapmierina sensoru orientācijas noklusējuma uzvedība jūsu lietošanas gadījumā:

  • Ja jūsu galvenās bažas rada nejaušas orientācijas maiņas darbības vidū, ar kurām, jūsuprāt, ierīces sensori un programmatūra nespēs labi tikt galā (piemēram, uz slīpumu balstītā spēlē), apsveriet iespēju atbalstīt ainavu un portretu, bet orientācijai izmantot nosensoru. Lielākajā daļā planšetdatoru tas liek lietot horizontālo, bet lielākajā daļā tālruņu - portretu, taču es tomēr neiesaku to izmantot lielākajai daļai "parasto" lietojumprogrammu (daži lietotāji vienkārši vēlas rakstīt tālruņos ar horizontālo tastatūru, un daudzi planšetdatoru lietotāji lasa portretā, un jums vajadzētu viņiem to ļaut).
  • Ja kāda iemesla dēļ jums tomēr ir nepieciešams piespiedu kārtā izmantot portretu, sensorPortrait var būt labāks risinājums nekā portrait operētājsistēmai Android 2.3+; tas ļauj izmantot portretu otrādi, kas ir diezgan izplatīts planšetdatoru lietojumā.
Komentāri (12)

Es nezināju par AndroidManifest.xml faila slēdzi, līdz izlasīju šo ziņu, tāpēc savās lietotnēs es to izmantoju tā vietā:

setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);     //  Fixed Portrait orientation
Komentāri (3)

Katalogā /platform/android izveidojām AndroidManifest.xml (kopējot to no ģenerētā). Pēc tam pievienojiet android:screenOrientation="portrait" visiem darbības elementiem.

Komentāri (0)