En regardant le AndroidManifest.xml ( lien ), à la ligne 9:
<activity android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden" android:name="VncCanvasActivity">
Cette ligne spécifie le screenOrientation
comme paysage, mais l'auteur va plus loin en remplaçant les changements d'orientation de l'écran avec configChanges="orientation|keyboardHidden"
. Cela pointe vers une fonction remplacée dans VncCanvasActivity.java.
Si vous regardez VncCanvasActivity, à la ligne 109 se trouve la fonction remplacée:
@Override
public void onConfigurationChanged(Configuration newConfig) {
// ignore orientation/keyboard change
super.onConfigurationChanged(newConfig);
}
L'auteur a spécifiquement mis un commentaire pour ignorer tout changement de clavier ou d'orientation.
Si vous souhaitez modifier cela, vous pouvez revenir au fichier AndroidManifest.xml illustré ci-dessus et modifier la ligne en:
<activity android:screenOrientation="sensor" android:name="VncCanvasActivity">
Cela devrait changer le programme pour passer du portrait au paysage lorsque l'utilisateur fait pivoter l'appareil.
Cela peut fonctionner, mais peut gâcher l'apparence de l'interface graphique, selon la façon dont la mise en page a été créée. Vous devrez en rendre compte. En outre, selon la façon dont les activités sont codées, vous pouvez remarquer que lorsque l'orientation de l'écran est modifiée, les valeurs qui ont été remplies dans les zones de saisie disparaissent. Cela peut également devoir être traité.
configChanges
attribut est-il nécessaire? Il semble fonctionner sur mon téléphone sans clavier sans lui ... Dans quelles situations l'orientation changera-t-elle en portrait si vous avezscreenOrientation="landscape"
omis leconfigChanges
?