Kaip išjungti kai kurių "Android" programos rodinių kraštovaizdžio režimą?
Pridėkite android:screenOrientation="portrait"
prie veiklos į AndroidManifest.xml. Pavyzdžiui:
<activity android:name=".SomeActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" />
EDIT: Kadangi tai tapo itin populiariu atsakymu, jaučiuosi labai kaltas, nes priverstinis portreto nustatymas retai būna teisingas problemų, kurioms jis dažnai taikomas, sprendimas.
Pagrindiniai priverstinio portreto naudojimo trūkumai:
retainInstance
fragmentus.Taigi dauguma programų turėtų leisti telefono jutikliams, programinei įrangai ir fizinei konfigūracijai pačiai nuspręsti, kaip naudotojas nori sąveikauti su jūsų programa. Tačiau apie keletą atvejų vis dėlto galite pagalvoti, jei jūsų naudojimo atveju jūsų netenkina numatytoji jutiklio
orientacijos elgsena:
nesensor
orientaciją. Dauguma planšetinių kompiuterių dėl to bus kraštovaizdžio, o dauguma telefonų - portreto, tačiau vis tiek nerekomenduočiau to daryti daugumai "normalių" programų (kai kurie naudotojai tiesiog mėgsta rašyti telefonų programine klaviatūra kraštovaizdžio režimu, o daugelis planšetinių kompiuterių naudotojų skaito portretiniu režimu - ir jūs turėtumėte jiems leisti tai daryti).sensorPortrait
gali būti geriau nei portretas
"Android 2.3+"; tai leidžia naudoti aukštyn kojomis apverstą portretą, kuris gana dažnai naudojamas planšetiniuose kompiuteriuose.Kol neperskaičiau šio įrašo, nežinojau apie AndroidManifest.xml
failo perjungiklį, todėl savo programose naudojau jį:
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // Fixed Portrait orientation
Kataloge <apphome>/platform/android
sukūrėme AndroidManifest.xml
(nukopijavę jį iš sugeneruoto).
Tada prie VISŲ veiklos elementų pridėkite android:screenOrientation=
"portret
".