Melihat AndroidManifest.xml ( tautan ), di baris 9:
<activity android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden" android:name="VncCanvasActivity">
Baris ini menentukan screenOrientation
lansekap sebagai, tetapi penulis melangkah lebih jauh dalam mengesampingkan perubahan orientasi layar apa pun configChanges="orientation|keyboardHidden"
. Ini menunjuk ke fungsi yang ditimpa di VncCanvasActivity.java.
Jika Anda melihat VncCanvasActivity, on line 109 adalah fungsi yang diganti:
@Override
public void onConfigurationChanged(Configuration newConfig) {
// ignore orientation/keyboard change
super.onConfigurationChanged(newConfig);
}
Penulis secara khusus memberikan komentar untuk mengabaikan perubahan keyboard atau orientasi.
Jika Anda ingin mengubah ini, Anda dapat kembali ke file AndroidManifest.xml yang ditunjukkan di atas, dan ubah baris ke:
<activity android:screenOrientation="sensor" android:name="VncCanvasActivity">
Ini harus mengubah program untuk beralih dari potret ke lanskap saat pengguna memutar perangkat.
Ini mungkin berhasil, tetapi mungkin mengacaukan tampilan GUI, tergantung pada bagaimana tata letak dibuat. Anda harus bertanggung jawab untuk itu. Juga, tergantung pada bagaimana aktivitas dikodekan, Anda mungkin memperhatikan bahwa ketika orientasi layar diubah, nilai-nilai yang diisi ke dalam setiap kotak input menghilang. Ini juga mungkin harus ditangani.
configChanges
atribut itu dibutuhkan? Tampaknya berfungsi pada ponsel non-keyboard saya tanpa itu ... Dalam situasi apa orientasi akan berubah menjadi potret jika Anda memilikiscreenOrientation="landscape"
tetapi mengabaikannyaconfigChanges
?