Existe-t-il un moyen de verrouiller l'orientation pendant l'exécution? Par exemple, je voudrais permettre à l'utilisateur de verrouiller l'écran en paysage si l'utilisateur est actuellement en mode paysage et de basculer l'option de menu.
android
orientation
Jared
la source
la source
Faites attention à la différence entre ce que renvoie getConfiguration et ce que veut setRequestedOrientation - ils sont tous les deux int, mais ils proviennent de définitions de constantes différentes.
Voici comment verrouiller l'orientation actuelle, tout en permettant des retournements à 180 degrés
la source
Cela fonctionne sur les appareils avec portrait inversé et paysage inversé.
Verrouiller l'orientation:
Déverrouiller l'orientation:
la source
"Returns the rotation of the screen from its "natural" orientation."
source de rotation . Ainsi, sur un téléphone disant que ROTATION_0 est portrait est probablement correct, mais sur une tablette, son orientation «naturelle» est probablement paysage et ROTATION_0 devrait renvoyer paysage au lieu de portrait.J'avais l'air d'avoir un cas similaire. Je voulais prendre en charge n'importe quelle orientation, mais je devais rester dans l'orientation actuelle après un certain point du flux de travail. Ma solution était:
A l'entrée du workflow protégé:
A la sortie du workflow protégé:
la source
Alternative à la réponse @pstoppani avec prise en charge des tablettes (comme pour la réponse @pstoppani, cela ne fonctionnera que sur les appareils> 2.2)
-Testé sur
Samsung Galaxy SIII
etSamsung Galaxy Tab 10.1
la source
||
dansrotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_90
et avecrotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_270
. Donc, j'ai 2 doute :::: d'abord, pourquoiROTATION_0
au lieu deROTATION_180
dans le deuxième cas et un autre pourquoi vérifier 0 degré avec 90 pas 180 ??||
vérifications gèrent les deux orientations par défaut possibles basées sur le rapport de l'appareil paysage vs portrait.Voici mon code, vous pouvez verrouiller avec l'une de ces méthodes votre écran et une fois la tâche terminée, le déverrouiller avec unlockOrientation:
la source
Voici la conversion Xamarin de la réponse de @pstoppani ci-dessus.
REMARQUE: il s'agit d'un fragment, remplacez l' activité. avec ça. s'il est utilisé dans une activité.
Ceci n'a pas été testé comme cela était allé avec une approche différente avant de l'utiliser, mais peut être utile.
la source