Prima metodă este foarte simplă. Puteți crea diferite versiuni ale fișierului șablon pentru cazul de peisaj și orientarea portret, și le-a pus în folderul res / aspect-teren pentru portret și res / aspect-port pentru orientarea portret.
Cum se schimba manual orientarea ecranului
Dacă doriți să gestionați manual modificați șablonul, trebuie să utilizați metodele oferite de clasa de configurare. Un obiect al acestei clase este transmis ca parametru în metoda onConfigurationChanged, care se numește atunci când unul dintre parametrii specificați în fișierul AndroidManifest.xml atributele de activitate. Pentru a intercepta schimbarea de orientare trebuie să specificați Android atribut: configChanges în znaenie orientare în fișierul manifest. Dacă nu, atunci onConfigurationChanged metoda nu va fi numit atunci când schimbă orientarea dispozitivului.
Blocați orientarea ecranului
Uneori vrem să împiedice schimbarea orientării. De exemplu, pentru o lungă listă de preferat este o orientare portret, deoarece, în acest caz, pe ecran se va potrivi mai multe informații. Puteți limita orientarea eerana pentru activitatea sa cu Android atributul: screenOrientation. Acest atribut poate fi specificat în AndroidManifest.xml. Android: screenOrientation = "peisaj" - orientarea peisaj, Android: screenOrientation = "portret" - orientarea portret. Dacă limitați aplicația aceeași orientare, șablonul trebuie să fie localizat în res / directorul de aspect.
Exemplu aplicații Android
Să creeze un proiect, care va demonstra diverse metode de a schimba ecranul shayulona atunci când schimbă orientarea. Anexa sudeților format din trei butoane, făcând clic pe care se va deschide activitate, în care unul sau un alt mod de a lucra cu orientarea va fi realizată. În cadrul aplicației folosind șablonul atributului Android: onClick declară o metodă care va fi numit prin apăsarea butonului.
Modelul cererii noastre este după cum urmează:
activity_main.xml
clasa MainActivity In interiorul defineste aceste metode.
Punerea în aplicare de orientare automată a ecranului
Activity_automatic.xml a crea un fișier șablon în dosarul res / aspect-teren. Acest fișier definește aspectul ecranului pentru orientarea peisaj.
Un fișier similar cu a crea o orientare portret în dosarul res / aspect port. Vă rugăm să rețineți că TextView are o culoare diferită.
Pentru a pune în aplicare schimbarea automată a șablonului va crea clasa AutomationOrientation. In interiorul clasei, pur și simplu ne-am asociat cu fișierul XML de activitate.
Punerea în aplicare a modelului de schimbare dinamică pe ecran Reorientarea
Acum creați clasa DynamicOrientationDetection care va determina orientarea actuală a ecranului și selectați șablonul corespunzător. În această clasă, vom trece peste metoda onConfigurationChanged. Fișierul AndroidManifest.xml, adăugați Android câmp: "orientare" configChanges =. Acest lucru va oferi o metodă de provocare onConfigurationChanged atunci când schimbați orientarea ecranului. AndroidManifest.xml cod este prezentat la sfârșitul articolului.
Punerea în aplicare a orientării blocare automată a ecranului
Să ne în cele din urmă de activitate, în care este interzis să răspundă la schimbări în orientarea dispozitivului. Va face acest lucru orientarea peisaj în cerere sunt utilizate întotdeauna. Precizăm în AnroidManifest.xml atribut Android: screenOrientation = „peisaj“ și de a crea un fișier șablon în res / directorul de aspect
Clasa arată RestrictedOrientation
După adăugarea tuturor actiity în fișierul AndroidManifest.xml, el trebuie să aibă forma
AnroidManifest.xml
fișier de proiect original poate fi descărcat de la repozitoriyagithub / Code4Reference.
aspecte specifice Orientare: Original
Traducere: Alexander Ledkov