9. satırdaki AndroidManifest.xml'ye ( bağlantı ) bakın:
<activity android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden" android:name="VncCanvasActivity">
Bu satır screenOrientation
, yatay olarak belirlenir , ancak yazar, ekran yönlendirme değişikliklerini geçersiz kılmaya devam eder configChanges="orientation|keyboardHidden"
. Bu, VncCanvasActivity.java'da geçersiz kılınmış bir işleve işaret eder.
VncCanvasActivity'ye bakarsanız, 109 numaralı satır geçersiz kılınan işlevdir:
@Override
public void onConfigurationChanged(Configuration newConfig) {
// ignore orientation/keyboard change
super.onConfigurationChanged(newConfig);
}
Yazar, özellikle klavye veya yön değişikliklerini yok saymak için bir yorum yaptı.
Bunu değiştirmek isterseniz, yukarıda gösterilen AndroidManifest.xml dosyasına geri dönebilir ve satırı şu şekilde değiştirebilirsiniz:
<activity android:screenOrientation="sensor" android:name="VncCanvasActivity">
Bu, kullanıcı cihazı döndürdüğünde programı dikeyden yataya geçecek şekilde değiştirmelidir.
Bu işe yarayabilir, ancak düzenin nasıl oluşturulduğuna bağlı olarak GUI'nin görünümünü bozabilir. Bunu hesaba katmanız gerekecek. Ayrıca, etkinliklerin nasıl kodlandığına bağlı olarak, ekran yönü değiştirildiğinde, herhangi bir giriş kutusuna doldurulan değerlerin kaybolduğunu fark edebilirsiniz. Bunun da ele alınması gerekebilir.
configChanges
Özellik tam olarak neden gereklidir? Klavyesiz telefonumda onsuz çalışıyor gibi görünüyor ... EğerscreenOrientation="landscape"
atlar, ancak atlarsanız yönlendirme hangi durumlarda portre olarak değişecektirconfigChanges
?