127 votes

Changer l'orientation de l'écran de façon programmatique à l'aide d'un bouton

Je pense que cela est réalisable puisque le comportement de rotation de l'écran peut aller jusqu'au niveau de l'application.

0voto

MH-Rouhani Points 13

Oui ، Hariharan La réponse fonctionne bien, mais vous devez ajouter la ligne suivante à AndroidManifest.xml dans le tag activité :

android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"

Si on n'ajoute pas la ligne ci-dessus, la réponse de Hariharan ne fonctionne pas.

Gracias Benny ¡!

0voto

Ashwini Points 27

Avec lequel j'ai travaillé :

setLandscapeIcon.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
            setLandscapeIcon.setVisibility(View.GONE);
            setPortraitIcon.setVisibility(View.VISIBLE);
        }
    });

setPortraitIcon.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
                setLandscapeIcon.setVisibility(View.VISIBLE);
                setPortraitIcon.setVisibility(View.GONE);
            }
        });

Au manifeste

android:configChanges = "orientation|screenSize"
android:screenOrientation="portrait"

REMARQUE : setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) ; ne fonctionne pas sur mon appareil.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X