Saya hanya ingin mengatur beberapa flag ketika orientasi saya berada di landscape sehingga ketika aktivitas dibuat kembali di onCreate () saya bisa beralih antara apa yang dimuat di portrait vs landscape. Saya sudah memiliki layout-land xml yang menangani tata letak saya.
public void onConfigurationChanged(Configuration _newConfig) {
if (_newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
this.loadURLData = false;
}
if (_newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
this.loadURLData = true;
}
super.onConfigurationChanged(_newConfig);
}
Over-riding onConfigurationChanged akan mencegah layout-land xml saya memuat dalam orientasi lanskap.
Saya hanya ingin mendapatkan orientasi perangkat saya saat ini di onCreate (). Bagaimana saya bisa mendapatkan ini?
java
android
configuration
orientation
Sheehan Alam
sumber
sumber
Ketika superclass
this
adalahContext
sumber
Di beberapa perangkat
void onConfigurationChanged()
mungkin macet. Pengguna akan menggunakan kode ini untuk mendapatkan orientasi layar saat ini.Dan gunakan
sumber
ini akan memberikan semua orientasi seperti normal dan mundur
dan menanganinya seperti
sumber
final int angle = (rotation == Surface.ROTATION_90) ? 90 : (rotation == Surface.ROTATION_180) ? 180 : (rotation == Surface.ROTATION_270) ? 270 : 0;
perintah ini mengembalikan nilai int 1 untuk Portrait dan 2 untuk Landscape
sumber
Jika ada orang yang ingin mendapatkan deskripsi orientasi yang bermakna (seperti yang diteruskan
onConfigurationChanged(..)
dengan itureverseLandscape
,sensorLandscape
dan sebagainya), cukup gunakangetRequestedOrientation()
sumber
Di kelas aktivitas Anda, gunakan metode di bawah ini:
Kemudian untuk menyatakan bahwa aktivitas Anda menangani perubahan konfigurasi, edit elemen yang sesuai dalam file manifes Anda untuk menyertakan
android:configChanges
atribut dengan nilai yang mewakili konfigurasi yang ingin Anda tangani. Nilai yang mungkin tercantum dalam dokumentasi untukandroid:configChanges
atribut (nilai yang paling umum digunakan adalah "orientasi" untuk mencegah restart ketika orientasi layar berubah dan "keyboardHidden" untuk mencegah memulai kembali ketika ketersediaan keyboard berubah). Anda dapat mendeklarasikan beberapa nilai konfigurasi dalam atribut dengan memisahkannya dengan pipa | karakter.Itu saja!!
sumber
jika Anda ingin menimpa metode onConfigurationChanged dan tetap ingin melakukan hal-hal dasar maka pertimbangkan untuk menggunakan super.onConfigyrationChanged () sebagai pernyataan pertama dalam metode overriden.
sumber
Saya hanya ingin mengusulkan alternatif lain yang akan membuat Anda khawatir:
menyiratkan bahwa kami secara eksplisit menyatakan tata letak yang akan disuntikkan.
Dalam kasus kami ingin menyimpan injeksi otomatis berkat tata letak-tanah dan folder tata letak. Yang harus Anda lakukan adalah menambahkannya ke onCreate:
Di sini, kami menampilkan atau tidak actionbar tergantung pada orientasi ponsel
sumber