Halaman ini menyediakan panduan penyiapan dan indeks yang komprehensif untuk overlay konfigurasi kompatibilitas aplikasi layar besar Android.
Tampilan
Bagian ini mencantumkan semua setelan konfigurasi yang memengaruhi konfigurasi tingkat tampilan.
| Nama | Lokasi | Jenis | Default |
|---|---|---|---|
ignoreOrientationRequest |
display_settings.xml |
config | falsetrue untuk layar besar (>= 600 dp) |
| Deskripsi Memungkinkan rotasi pengguna gratis untuk aktivitas berorientasi tetap pada tampilan yang ditentukan. Contoh:
<display-settings>
<config identifier="0" />
<display
name="<display's uniqueId>"
ignoreOrientationRequest="true"/>
</display-settings>
Kasus penggunaan atau konteks Layar mengabaikan orientasi yang diminta semua aplikasi, dan aplikasi memiliki tampilan lebar. Digunakan di semua perangkat layar besar dan Android Automotive OS. Ini adalah default untuk semua perangkat layar besar dengan smallestScreenWidthDp >= 600dp
di Android 16 dan yang lebih tinggi. |
|||
config_letterboxIsDisplayRotationImmersiveAppCompatPolicyEnabled |
frameworks/base/core/res/res/values/config.xml |
Bool |
false |
| Deskripsi Mengaktifkan kebijakan kompatibilitas rotasi untuk aplikasi imersif yang mencegah rotasi otomatis ke orientasi layar yang tidak optimal saat dalam layar penuh. Hal ini diperlukan karena aplikasi imersif, seperti game, sering kali tidak dioptimalkan untuk semua orientasi dan dapat memiliki UX yang buruk saat diputar. Selain itu, beberapa game mengandalkan sensor untuk gameplay, sehingga pengguna dapat memicu rotasi tersebut secara tidak sengaja saat rotasi otomatis diaktifkan. Hanya berlaku jika ignoreOrientationRequest diaktifkan.Kasus penggunaan atau konteks Mengunci rotasi untuk aplikasi imersif. |
|||
Rasio aspek
Bagian ini mencantumkan semua setelan konfigurasi yang memengaruhi konfigurasi jendela tingkat aktivitas untuk rasio aspek.
| Nama | Lokasi | Jenis | Default |
|---|---|---|---|
config_fixedOrientationLetterboxAspectRatio |
frameworks/base/core/res/res/values/config.xml |
Float |
0.0 |
| Deskripsi Mengonfigurasi rasio aspek letterboxing untuk orientasi tetap. Nilai yang kurang dari atau sama dengan 1.0
diabaikan. Kasus penggunaan atau konteks Mengonfigurasi rasio aspek default perangkat yang berfungsi untuk sebagian besar aplikasi berformat lebar. Biasanya lebih dekat dengan rasio aspek persegi. |
|||
config_letterboxIsSplitScreenAspectRatioForUnresizableAppsEnabled |
frameworks/base/core/res/res/values/config.xml |
Bool |
false |
| Deskripsi Mengonfigurasi apakah akan menggunakan rasio aspek layar terpisah sebagai rasio aspek default untuk aplikasi yang tidak dapat diubah ukurannya. Kasus penggunaan atau konteks Sebagian besar aplikasi yang tidak dapat diubah ukurannya mengharapkan tata letak ponsel candybar potret. |
|||
config_letterboxIsDisplayAspectRatioForFixedOrientationLetterboxEnabled |
frameworks/base/core/res/res/values/config.xml |
Bool |
false |
| Deskripsi Mengonfigurasi apakah akan menggunakan rasio aspek tampilan sebagai rasio aspek default untuk semua aplikasi yang ditampilkan dalam format lebar. Kasus penggunaan atau konteks Konfigurasi untuk menggunakan rasio aspek tampilan secara terprogram daripada mengonfigurasi nilai float. |
|||
Kamera
Bagian ini mencantumkan semua setelan konfigurasi yang memengaruhi aplikasi saat callback
onCameraOpened. Setelan ini dapat memengaruhi tampilan, aktivitas, dan konfigurasi kamera.
| Nama | Lokasi | Jenis | Default |
|---|---|---|---|
config_isWindowManagerCameraCompatTreatmentEnabled |
frameworks/base/core/res/res/values/config.xml |
Bool |
false |
| Deskripsi Mengaktifkan penanganan kompatibilitas kamera untuk masalah yang disebabkan oleh ketidakcocokan orientasi antara buffer kamera dan jendela aplikasi. Hal ini mencakup rotasi paksa aktivitas berorientasi tetap yang terhubung ke kamera dalam layar penuh dan menampilkan tooltip di layar split. Perlakuan putar paksa dapat dinonaktifkan oleh penggantian per aplikasi: OVERRIDE_CAMERA_COMPAT_DISABLE_FORCE_ROTATION.Kasus penggunaan atau konteks Memperbaiki pratinjau kamera yang diputar dengan memutar paksa tampilan agar sesuai dengan orientasi yang diminta aplikasi. |
|||
config_isWindowManagerCameraCompatSplitScreenAspectRatioEnabled |
frameworks/base/core/res/res/values/config.xml |
Bool |
false |
| Deskripsi Mengonfigurasi apakah aktivitas menggunakan rasio aspek layar terpisah saat perlakuan kompatibilitas kamera diaktifkan dan aktivitas terhubung ke kamera dalam layar penuh. Kasus penggunaan atau konteks Memperbaiki pratinjau kamera yang terentang dengan menerapkan letterbox pada aktivitas ke rasio aspek seperti candybar. Biasanya digunakan bersama dengan pengaktifan perlakuan rotasi paksa ( config_isWindowManagerCameraCompatTreatmentEnabled dan camera.enable_landscape_to_portrait) pada perangkat lanskap untuk memperbaiki masalah kompatibilitas kamera yang terentang dengan menyimulasikan rasio aspek seperti candybar potret untuk aktivitas. |
|||
camera.enable_landscape_to_portrait |
System property | Bool |
false |
| Description Gates the OVERRIDE_CAMERA_LANDSCAPE_TO_PORTRAIT treatment.Memaksa output kamera untuk dipangkas dan diputar 90 derajat pada kamera dengan orientasi alami lanskap untuk menyimulasikan orientasi alami potret. Orientasi sensor kamera yang dilaporkan adalah potret untuk semua kamera lanskap di perangkat. Banyak aplikasi yang tidak menangani situasi ini dan justru menampilkan gambar yang direntangkan. Kasus penggunaan atau konteks Mengaktifkan perlakuan putar dan pangkas HAL kamera. Untuk mengetahui informasi selengkapnya tentang penyesuaian, lihat Memutar, memangkas, menskalakan. Tambahkan kode berikut ke file mk Anda pada waktu build: PRODUCT_PROPERTY_OVERRIDES += camera.enable_landscape_to_portrait=truePerlakuan ini mengharuskan perangkat mendukung SCALER_ROTATE_AND_CROP di HAL. Lihat CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODES.Untuk mengetahui panduan tentang penerapan khusus HAL untuk SCALER_ROTATE_AND_CROP, lihat metadata_definitions.xml. |
|||
Latar belakang dan UI
Bagian ini mencantumkan semua setelan konfigurasi yang diterapkan ke permukaan lapisan letterbox untuk penyesuaian UI, atau pada tingkat aktivitas.
| Nama | Lokasi | Jenis | Default |
|---|---|---|---|
config_letterboxActivityCornersRadius |
frameworks/base/core/res/res/values/config.xml |
Integer |
0 |
| Deskripsi Mengonfigurasi radius sudut untuk aktivitas yang ditampilkan dalam mode letterbox. Nilai kurang dari 0 mengaktifkan sudut membulat dengan radius yang sama dengan minimum antara radius sudut bawah perangkat. Nilai default 0 akan menonaktifkan logika sudut bulat
di AppCompatLetterboxPolicy.Kasus penggunaan atau konteks Biasanya dikonfigurasi agar sesuai dengan sudut bulat perangkat fisik. |
|||
config_letterboxIsEnabledForTranslucentActivities |
frameworks/base/core/res/res/values/config.xml |
Bool |
false |
| Deskripsi Mengonfigurasi apakah perilaku spesifik untuk aktivitas transparan letterboxing diaktifkan. Kasus penggunaan atau konteks Memungkinkan aktivitas atau modal transparan ditampilkan dalam format layar lebar dan dibatasi dalam konfigurasi aktivitas layar lebar. Kebijakan berlaku di TransparentPolicy. |
|||
config_isCompatFakeFocusEnabled |
frameworks/base/core/res/res/values/config.xml |
Bool |
false |
| Deskripsi Mengonfigurasi apakah pengiriman fokus palsu kompatibilitas untuk aktivitas layar terpisah yang dilanjutkan diaktifkan. Hal ini diperlukan karena beberapa game engine menunggu untuk mendapatkan fokus sebelum menggambar konten aplikasi, yang tidak disediakan secara default dalam mode multi-aplikasi. Kasus penggunaan atau konteks Flag lama untuk menerapkan perlakuan kompatibilitas untuk game engine Unity untuk aplikasi yang menjadi hitam setelah memasuki mode layar terpisah dan hanya digambar setelah pengguna mengetuk dan memfokuskan aplikasi. |
|||
config_letterboxBackgroundType |
frameworks/base/core/res/res/values/config.xml |
Integer |
0 |
| Deskripsi Mengonfigurasi tampilan sudut latar belakang kotak surat:
Kasus penggunaan atau konteks Fitur ini tidak diluncurkan karena masalah performa yang ada. OEM dapat membuat implementasi fitur ini sendiri, tetapi AOSP tidak akan menangani bug apa pun. |
|||
config_letterboxBackgroundColor |
frameworks/base/core/res/res/values/config.xml |
Color |
@color/system_neutral1_1000 |
| Deskripsi Mengonfigurasi warna latar belakang letterbox jika salah satu kondisi berikut true:
Kasus penggunaan atau konteks Fitur ini tidak diluncurkan karena masalah performa yang ada. OEM dapat membuat implementasi fitur ini sendiri, tetapi AOSP tidak akan menangani bug apa pun. |
|||
config_letterboxBackgroundWallpaperBlurRadius |
frameworks/base/core/res/res/values/config.xml |
Dimen |
38dp |
| Deskripsi Mengonfigurasi radius blur untuk Opsi 3 di
R.integer.config_letterboxBackgroundType. Nilai yang kurang dari 0 diabaikan,
dan 0 digunakan.Kasus penggunaan atau konteks Fitur ini tidak diluncurkan karena masalah performa yang ada. OEM dapat membuat implementasi fitur ini sendiri, tetapi AOSP tidak akan menangani bug apa pun. |
|||
config_letterboxBackgroundWallpaperDarkScrimAlpha |
frameworks/base/core/res/res/values/config.xml |
Float |
0.54 |
| Deskripsi Mengonfigurasi alpha scrim transparan hitam yang ditampilkan di atas latar belakang letterbox wallpaper saat Opsi 3 dipilih untuk
R.integer.config_letterboxBackgroundType.
Nilai yang kurang dari 0 atau lebih besar dari atau sama dengan 1 akan diabaikan, dan 0.0 (transparan) akan digunakan
sebagai gantinya.Kasus penggunaan atau konteks Fitur ini tidak diluncurkan karena masalah performa yang ada. OEM dapat membuat implementasi fitur ini sendiri, tetapi AOSP tidak akan menangani bug apa pun. |
|||
Keterjangkauan dan penempatan
Bagian ini mencantumkan semua setelan konfigurasi yang diterapkan ke konfigurasi jendela tingkat aktivitas untuk aksesibilitas.
| Nama | Lokasi | Jenis | Default |
|---|---|---|---|
config_letterboxIsHorizontalReachabilityEnabled |
frameworks/base/core/res/res/values/config.xml |
Bool |
false |
| Deskripsi Mengonfigurasi apakah pemosisian ulang kemampuan menjangkau horizontal diaktifkan untuk aplikasi dengan tampilan lebar dalam mode jendela layar penuh. Kasus penggunaan atau konteks Memosisikan ulang aplikasi potret ke kiri atau kanan agar lebih mudah diakses. |
|||
config_letterboxHorizontalPositionMultiplier |
frameworks/base/core/res/res/values/config.xml |
Float |
0.5 |
| Deskripsi Mengonfigurasi posisi horizontal bagian tengah jendela aplikasi berformat lebar. 0 sesuai dengan sisi kiri layar, dan 1 sesuai dengan sisi kanan.
Jika nilai yang diberikan kurang dari 0 atau lebih besar dari 1, nilai tersebut akan diabaikan. Untuk postur non-buku,
posisi tengah (0.5) digunakan. Untuk postur buku, posisi kiri (0.0) digunakan.Kasus penggunaan atau konteks Secara default, posisi aplikasi letterbox potret adalah di tengah. |
|||
config_letterboxIsVerticalReachabilityEnabled |
frameworks/base/core/res/res/values/config.xml |
Bool |
false |
| Deskripsi Mengonfigurasi apakah pemosisian ulang kemampuan menjangkau vertikal diaktifkan untuk aplikasi letterbox dalam mode jendela layar penuh. Kasus penggunaan atau konteks Memosisikan ulang aplikasi lanskap ke atas atau bawah agar lebih mudah diakses. |
|||
config_letterboxVerticalPositionMultiplier |
frameworks/base/core/res/res/values/config.xml |
Float |
0.0 |
| Deskripsi Mengonfigurasi posisi vertikal bagian tengah jendela aplikasi letterbox. Nilai 0 sesuai dengan sisi atas layar, dan 1 sesuai dengan sisi
bawah.Jika nilai yang diberikan kurang dari 0 atau lebih besar dari 1, nilai tersebut akan diabaikan. Untuk mode non-di atas meja, posisi tengah (0.5) digunakan. Untuk postur tabletop, posisi atas (0.0) digunakan.Kasus penggunaan atau konteks Dikonfigurasi ke tengah di perangkat layar besar untuk aplikasi dengan tampilan lebar lanskap. |
|||
config_letterboxIsAutomaticReachabilityInBookModeEnabled |
frameworks/base/core/res/res/values/config.xml |
Bool |
false |
| Deskripsi Mengonfigurasi apakah penentuan posisi jangkauan horizontal otomatis postur buku diaktifkan untuk aplikasi dengan tampilan lebar dalam mode jendela layar penuh. Kasus penggunaan atau konteks Memungkinkan aplikasi dengan tampilan lebar potret berpindah antara kiri dan kanan saat perangkat foldable dalam postur buku. |
|||
config_letterboxBookModePositionMultiplier |
frameworks/base/core/res/res/values/config.xml |
Float |
0.0 |
| Deskripsi Mengonfigurasi posisi horizontal pusat jendela aplikasi letterbox saat dalam postur buku. 0 sesuai dengan sisi kiri layar, dan 1 sesuai dengan sisi kanan.
Jika nilai yang diberikan kurang dari 0 atau lebih besar dari 1, nilai tersebut akan diabaikan, dan posisi kiri
(0.0) akan digunakan.Kasus penggunaan atau konteks Pengali untuk seberapa jauh posisi aplikasi berpindah saat diposisikan ulang dalam postur buku. |
|||
config_letterboxDefaultPositionForBookModeReachability |
frameworks/base/core/res/res/values/config.xml |
Integer |
0 |
| Deskripsi Mengonfigurasi posisi horizontal default jendela aplikasi dengan tampilan lebar saat kemudahan dijangkau diaktifkan dan aplikasi berada dalam layar penuh di orientasi perangkat lanskap dan dalam postur buku. Jika kemampuan menjangkau diaktifkan, posisi dapat berubah antara kiri, tengah, dan kanan:
0 (kiri) akan
diasumsikan.Kasus penggunaan atau konteks Posisi default tempat aplikasi ditempatkan dalam mode buku. |
|||
config_letterboxTabletopModePositionMultiplier |
frameworks/base/core/res/res/values/config.xml |
Float |
0.0 |
| Deskripsi Mengonfigurasi posisi vertikal bagian tengah jendela aplikasi letterbox saat dalam postur mode di atas meja. Nilai 0 sesuai dengan sisi atas layar, dan 1 sesuai dengan sisi
bawah. Jika nilai yang diberikan kurang dari 0 atau lebih besar dari 1, nilai tersebut akan diabaikan, dan posisi teratas
0.0 akan digunakan.Kasus penggunaan atau konteks Pengali untuk seberapa jauh posisi aplikasi berpindah di perangkat lipat saat dalam postur tabletop. |
|||
config_letterboxDefaultPositionForTabletopModeReachability |
frameworks/base/core/res/res/values/config.xml |
Integer |
0 |
| Deskripsi Mengonfigurasi posisi vertikal default jendela aplikasi dengan tampilan lebar saat kemudahan dijangkau diaktifkan dan aplikasi ditampilkan dalam layar penuh pada orientasi perangkat potret dan dalam postur mode di atas meja. Jika kemampuan menjangkau diaktifkan, posisi dapat berubah antara atas, tengah, dan bawah. Konfigurasi ini menentukan konfigurasi default:
0 (atas) akan
diasumsikan.Kasus penggunaan atau konteks Posisi default tempat aplikasi ditempatkan dalam mode tabletop. |
|||
Setelan
Bagian ini mencantumkan semua setelan konfigurasi untuk menyesuaikan dan mengaktifkan setelan rasio aspek pengguna di Setelan > Aplikasi > Rasio aspek.
| Nama | Lokasi | Jenis | Default |
|---|---|---|---|
config_appCompatUserAppAspectRatioSettingsIsEnabled |
frameworks/base/core/res/res/values/config.xml |
Bool |
false |
| Deskripsi Mengonfigurasi apakah setelan penggantian rasio aspek per pengguna per aplikasi diaktifkan. Kasus penggunaan atau konteks Mengaktifkan fitur setelan rasio aspek di Setelan > Aplikasi > Rasio aspek. |
|||
config_appCompatUserAppAspectRatioFullscreenIsEnabled |
frameworks/base/core/res/res/values/config.xml |
Bool |
false |
| Deskripsi Mengonfigurasi apakah opsi penggantian layar penuh per aplikasi diaktifkan dalam setelan rasio aspek pengguna. Kasus penggunaan atau konteks Mengaktifkan opsi Layar penuh dalam fitur setelan rasio aspek pengguna. Setelan ini mengabaikan batasan orientasi, rasio aspek, dan kemampuan mengubah ukuran aplikasi. |
|||
config_userAspectRatioOverrideEntries |
packages/apps/Settings/res/values/config.xml |
string-array |
Semua opsi diaktifkan secara default. |
| Deskripsi Mengonfigurasi layar setelan rasio aspek aplikasi dan opsi penggantian rasio aspek pengguna. Harus memiliki panjang dan urutan yang sama dengan config_userAspectRatioOverrideValues.Jika diubah, perbarui juga logika Pencadangan & Pemulihan untuk memilih nilai terdekat di UserAspectRatioBackupManager.java.Kasus penggunaan atau konteks Pemetaan untuk string yang ditampilkan di Setelan. |
|||
config_userAspectRatioOverrideValues |
packages/apps/Settings/res/values/config.xml |
integer-array |
Semua string AOSP digunakan secara default. |
| Deskripsi Mengonfigurasi layar setelan rasio aspek aplikasi dan opsi penggantian rasio aspek pengguna. Harus memiliki panjang dan urutan yang sama dengan config_userAspectRatioOverrideEntries. Nilai harus sesuai dengan PackageManager.UserMinAspectRatio.Jika diubah, perbarui juga logika Pencadangan & Pemulihan untuk memilih nilai terdekat di UserAspectRatioBackupManager.java.Kasus penggunaan atau konteks Pemetaan untuk opsi ke backend PackageManager.UserMinAspectRatio:
|
|||
| Drawable statis bertema terang | packages/apps/Settings/res/drawable/ic_app_aspect_ratio_<option>.xml |
vector |
Aset berukuran perangkat foldable lanskap |
| Deskripsi Mengonfigurasi drawable yang tersedia:
Kasus penggunaan atau konteks Gambar statis bertema terang di setiap opsi di Setelan > Info aplikasi > Rasio aspek. |
|||
| Drawable statis bertema gelap | packages/apps/Settings/res/drawable-night/ic_app_aspect_ratio_<option>.xml |
vector |
Aset berukuran perangkat foldable lanskap |
| Deskripsi Mengonfigurasi drawable yang tersedia:
Kasus penggunaan atau konteks Gambar statis bertema gelap di setiap opsi di Setelan > Info aplikasi > Rasio aspek. |
|||
Drawable dinamisuser_aspect_ratio_education.json |
packages/apps/Settings/res/raw/user_aspect_ratio_education.json |
JSON | Aset dinamis berukuran perangkat foldable lanskap |
| Deskripsi Mengonfigurasi ilustrasi Lottie di UserAspectRatioAppsPageProvider.Kasus penggunaan atau konteks Animasi di bagian daftar aplikasi: Setelan > Aplikasi > Rasio aspek. |
|||
Pendidikan
Bagian ini mencantumkan semua setelan konfigurasi untuk mengedukasi pengguna tentang fitur kompatibilitas aplikasi.
| Nama | Lokasi | Jenis | Default |
|---|---|---|---|
config_letterboxIsEducationEnabled |
frameworks/base/core/res/res/values/config.xml |
Bool |
false |
| Deskripsi Mengonfigurasi apakah edukasi tampilan lebar diaktifkan untuk aplikasi layar penuh dengan tampilan lebar. Kasus penggunaan atau konteks Lihat gambar 1 untuk kasus penggunaan edukasi tampilan lebar untuk aplikasi layar penuh. |
|||
config_letterboxIsRestartDialogEnabled |
frameworks/base/libs/WindowManager/Shell/res/values/config.xml |
Bool |
false |
| Deskripsi Mengonfigurasi apakah dialog mulai ulang yang diperluas diaktifkan. Kasus penggunaan atau konteks Lihat gambar 2 untuk kasus penggunaan dialog mulai ulang yang diperluas. |
|||
config_letterboxIsReachabilityEducationEnabled |
frameworks/base/libs/WindowManager/Shell/res/values/config.xml |
Bool |
false |
| Deskripsi Mengonfigurasi apakah edukasi tambahan tentang kemampuan menjangkau diaktifkan. Kasus penggunaan atau konteks Lihat gambar 3 untuk kasus penggunaan edukasi kemampuan menjangkau. |
|||
config_isSizeCompatRestartButtonEnabled |
frameworks/base/libs/WindowManager/Shell/res/values/config.xml |
Bool |
true |
| Deskripsi Mengonfigurasi apakah tombol mulai ulang kompatibilitas ukuran diaktifkan. Kasus penggunaan atau konteks Tombol mulai ulang untuk memulai ulang konfigurasi aplikasi yang tidak dapat diubah ukurannya setelah ukuran jendela berubah, misalnya, saat memasuki layar terpisah atau merotasi layar. Lihat gambar 4 untuk kasus penggunaan tombol mulai ulang kompatibilitas ukuran. |
|||
config_letterboxRestartButtonHideTolerance |
frameworks/base/libs/WindowManager/Shell/res/values/config.xml |
Integer |
100 |
| Deskripsi Mengonfigurasi toleransi minimum persentase batas aktivitas dalam tugasnya untuk menyembunyikan tombol mulai ulang kompatibilitas ukuran. Nilai yang lebih rendah dari 0 atau lebih tinggi
dari 100 akan diabaikan.100 adalah nilai default tempat aktivitas harus sesuai persis dalam
tugas agar tombol mulai ulang kompatibilitas ukuran dapat disembunyikan. Nilai 0 berarti
tombol mulai ulang kompatibilitas ukuran selalu disembunyikan.Kasus penggunaan atau konteks Digunakan di perangkat yang hampir berbentuk persegi untuk menyembunyikan tombol mulai ulang saat aplikasi yang tidak dapat diubah ukurannya diputar oleh pengguna, tetapi memulai ulang aplikasi tidak akan meningkatkan kualitas UI secara drastis. |
|||
Gambar berikut menunjukkan kasus penggunaan overlay pendidikan:
Gambar 1. Pendidikan letterbox untuk aplikasi layar penuh
Gambar 2. Dialog mulai ulang yang diperluas
Gambar 3. Pendidikan jangkauan.
Gambar 4. Tombol mulai ulang kompatibilitas ukuran.