web-dev-qa-db-fra.com

Comment verrouiller l'orientation de l'application Android en mode portrait?)

Je développe une application Android dont je ne veux pas que l'orientation soit modifiée en mode paysage lorsque l'utilisateur fait pivoter l'appareil. En outre, je souhaite que l'orientation verrouillée soit en mode portrait sur les téléphones et en mode paysage Ceci peut-il être réalisé, si oui comment? Merci.

74
Ankit Rawat

Il vous suffit de définir la propriété ci-dessous à l'intérieur de l'élément activity dans votre AndroidManifest.xml fichier. Cela limitera votre orientation au portrait.

Android: screenOrientation = "portrait"

Exemple:

        <activity
            Android:name="com.example.demo_spinner.MainActivity"
            Android:label="@string/app_name"
            Android:screenOrientation="portrait" >
        </activity>

De plus, selon le commentaire d'Eduard Luca ci-dessous, vous pouvez également utiliser screenOrientation="sensorPortrait" si vous souhaitez activer la rotation de 180 degrés.

127
RobinHood

Vous devez ajouter le Android:screenOrientation="portrait" directive dans votre AndroidManifest.xml. Ceci doit être fait dans votre <activity> balise.

De plus, le guide Android Developers) indique que:

[...] vous devez également déclarer explicitement que votre application nécessite une orientation portrait ou paysage avec l'élément. Par exemple, <uses-feature Android:name="Android.hardware.screen.portrait" />.

42
Halim Qarroum

Je vois que vous avez accepté une réponse qui ne résout pas entièrement votre problème:

Android:screenOrientation="portrait" 

Cela forcera votre application à être portrait sur les téléphones et les tablettes.

L'application peut être forcée dans l'orientation "préférée" de l'appareil en utilisant

Android:screenOrientation="nosensor"

Cela conduira à forcer votre application à portrait sur la plupart des téléphones et paysages sur des tablettes. Il existe de nombreux téléphones dotés de claviers conçus pour le mode paysage. Forcer votre application à portrait peut la rendre presque inutilisable sur de tels appareils. Android effectue récemment une migration vers d'autres types de périphériques. Il est préférable de laisser simplement le périphérique choisir l'orientation de son choix.

15
Radu Simionescu

C’est peut-être .. vous devez l’identifier par tablette ou par téléphone par programme ...

if(isTablet)
{
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);      
}else
{
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
12
Bhavesh Hirpara
<activity Android:name=".yourActivity"
          Android:screenOrientation="portrait" ... />

ajouter à l'activité principale et ajouter

Android:configChanges="keyboardHidden"

pour empêcher votre programme de changer de mode lors de l'appel du clavier.

3
Sumodh S

Définissez l'orientation de l'écran sur Portrait dans le fichier manifeste sous la balise d'activité.

1
Ravish kumar