Глядя на AndroidManifest.xml ( ссылка ) в строке 9:
<activity android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden" android:name="VncCanvasActivity">
Эта строка указывает screenOrientation
как альбомную, но автор идет дальше, отменяя любые изменения ориентации экрана с помощью configChanges="orientation|keyboardHidden"
. Это указывает на переопределенную функцию в VncCanvasActivity.java.
Если вы посмотрите на VncCanvasActivity, в строке 109 будет переопределенная функция:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
Автор специально добавил комментарий, чтобы игнорировать любые изменения клавиатуры или ориентации.
Если вы хотите изменить это, вы можете вернуться к файлу AndroidManifest.xml, показанному выше, и изменить строку на:
<activity android:screenOrientation="sensor" android:name="VncCanvasActivity">
Это должно изменить программу, чтобы переключаться с книжной на альбомную, когда пользователь поворачивает устройство.
Это может сработать, но может испортить внешний вид графического интерфейса пользователя, в зависимости от того, как был создан макет. Вы должны будете это учитывать. Кроме того, в зависимости от того, как закодированы действия, вы можете заметить, что при изменении ориентации экрана значения, которые были заполнены в любых полях ввода, исчезают. С этим тоже, возможно, придется справиться.
configChanges
нужен атрибут? Кажется, он работает на моем телефоне без клавиатуры и без него ... В каких ситуациях ориентация изменится на портретную, если у вас есть,screenOrientation="landscape"
но опуститьconfigChanges
?