Terima kasih. Tetapi apakah fungsi ini perlu dijalankan pada perangkat yang di-rooting? Sepertinya tidak berfungsi di ponsel saya tetapi di tablet yang di-rooting.
Sam
Tidak, tidak seperti itu .. Sebenarnya saya menguji kode di tautan itu sebelum memposting .. Ini berfungsi di perangkat saya ..
Hariharan
oke, ya, kamu benar. Saya baru saja menguji perangkat lain dan berfungsi dengan baik. baik, Samsung Galaxy Nexus saya tidak berfungsi. Tidak tahu kenapa.
Sam
4
Terima kasih atas jawabannya. Tapi ini mengunci aplikasi dalam mode itu. Saat Pengguna memutar perangkat, layar tidak berputar.
Eco4ndly
2
Jika saya menyetel orientasi ke lanskap secara terprogram sebagai jawaban ini, pengguna tidak dapat lagi mengubah orientasi dengan memutar perangkat. Adakah cara untuk menangani masalah ini? Saya ingin melakukan apa yang diajarkan dalam jawaban ini tetapi kemudian ketika pengguna memutar perangkat itu akan terus mengubah orientasi.
Segera Santos
36
Ya, Anda dapat menyetel orientasi layar secara terprogram kapan pun Anda mau menggunakan:
getRequestedOrientation()memberi Anda UNSPECIFIEDsaat Anda memulai aplikasi. Jadi dengan pendengar di atas itu tidak akan mengubah layar dan jika Anda menambahkan UNSPECIFIEDke switchitu harus menempatkan layar di salah satu Portrait / Landscape posisi pertama.
mortalis
22
Jika memungkinkan, jangan gunakan SCREEN_ORIENTATION_LANDSCAPE atau SCREEN_ORIENTATION_PORTRAIT. Sebagai gantinya gunakan:
Ini memungkinkan pengguna untuk mengarahkan perangkat ke salah satu orientasi lanskap, atau salah satu orientasi potret. Jika Anda pernah bermain game dengan kabel pengisi daya didorong ke perut Anda, maka Anda tahu persis mengapa memiliki kedua orientasi tersedia penting bagi pengguna.
Catatan: Untuk ponsel, setidaknya beberapa yang saya periksa, ini hanya memungkinkan mode potret "sisi kanan atas", namun SENSOR_PORTRAIT berfungsi dengan baik di tablet.
Catatan: fitur ini diperkenalkan di API Level 9, jadi jika Anda harus mendukung 8 atau lebih rendah (sepertinya tidak pada saat ini), gunakan:
Jawaban:
Ya itu bisa diimplementasikan!
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
ActivityInfo
http://developer.android.com/reference/android/content/pm/ActivityInfo.html
Lihat tautannya:
http://android-er.blogspot.in/2011/08/set-screen-orientation-programmatically.html
sumber
Ya, Anda dapat menyetel orientasi layar secara terprogram kapan pun Anda mau menggunakan:
untuk mode lanskap dan potret. Metode setRequestedOrientation () tersedia untuk kelas Activity , sehingga bisa digunakan di dalam Activity Anda.
Dan inilah cara Anda mendapatkan orientasi layar saat ini dan mengaturnya secara memadai bergantung pada statusnya saat ini:
Diambil dari sini: http://techblogon.com/android-screen-orientation-change-rotation-example/
EDIT
Selain itu, Anda bisa mendapatkan orientasi layar menggunakan
Configuration
:sumber
getRequestedOrientation()
untuk mendapatkan orientasi layar saat ini: stackoverflow.com/a/21909327/1037294getRequestedOrientation()
memberi AndaUNSPECIFIED
saat Anda memulai aplikasi. Jadi dengan pendengar di atas itu tidak akan mengubah layar dan jika Anda menambahkanUNSPECIFIED
keswitch
itu harus menempatkan layar di salah satu Portrait / Landscape posisi pertama.Jika memungkinkan, jangan gunakan SCREEN_ORIENTATION_LANDSCAPE atau SCREEN_ORIENTATION_PORTRAIT. Sebagai gantinya gunakan:
Ini memungkinkan pengguna untuk mengarahkan perangkat ke salah satu orientasi lanskap, atau salah satu orientasi potret. Jika Anda pernah bermain game dengan kabel pengisi daya didorong ke perut Anda, maka Anda tahu persis mengapa memiliki kedua orientasi tersedia penting bagi pengguna.
Catatan: Untuk ponsel, setidaknya beberapa yang saya periksa, ini hanya memungkinkan mode potret "sisi kanan atas", namun SENSOR_PORTRAIT berfungsi dengan baik di tablet.
Catatan: fitur ini diperkenalkan di API Level 9, jadi jika Anda harus mendukung 8 atau lebih rendah (sepertinya tidak pada saat ini), gunakan:
sumber
Gunakan ini untuk mengatur orientasi layar:
atau
dan jangan lupa untuk menambahkan ini ke manifes Anda:
sumber
"orientation|screenSize"
, Lihat di sini: developer.android.com/guide/topics/resources/…Kode yang berfungsi:
panggil metode ini di klik tombol Anda
sumber