คู่มือการตั้งค่าความเข้ากันได้ของแอปบนหน้าจอขนาดใหญ่

หน้านี้มีคำแนะนำในการตั้งค่าแบบครอบคลุมและดัชนีสำหรับการซ้อนทับการกำหนดค่าความเข้ากันได้ของแอป Android บนหน้าจอขนาดใหญ่

จอแสดงผล

ส่วนนี้แสดงการตั้งค่าการกำหนดค่าทั้งหมดที่มีผลต่อการกำหนดค่าระดับการแสดงผล

ชื่อ ตำแหน่ง ประเภท ค่าเริ่มต้น
ignoreOrientationRequest display_settings.xml การกำหนดค่า false
true สำหรับหน้าจอขนาดใหญ่ (>= 600dp)
คำอธิบาย
เปิดใช้การหมุนกิจกรรมที่กำหนดการวางแนวไว้แล้วของผู้ใช้โดยไม่มีค่าใช้จ่ายบนจอแสดงผลที่ระบุ
ตัวอย่าง
          <display-settings>
              <config identifier="0" />
              <display
                  name="<display's uniqueId>"
                  ignoreOrientationRequest="true"/>
          </display-settings>
        

กรณีการใช้งานหรือบริบท
จอแสดงผลจะไม่สนใจการวางแนวที่ขอของแอปทั้งหมด และแอปจะมีแถบดำด้านบน-ล่างของภาพ
ใช้ในอุปกรณ์หน้าจอขนาดใหญ่ทั้งหมดและ Android Automotive OS นี่คือ ค่าเริ่มต้นสำหรับอุปกรณ์หน้าจอขนาดใหญ่ทั้งหมดที่ใช้ smallestScreenWidthDp >= 600dp ใน Android 16 ขึ้นไป
config_letterboxIsDisplayRotationImmersiveAppCompatPolicyEnabled frameworks/base/core/res/res/values/config.xml Bool false
คำอธิบาย
เปิดใช้นโยบายความเข้ากันได้ของการหมุนสำหรับแอปที่สมจริงซึ่ง ป้องกันการหมุนอัตโนมัติเป็นการวางแนวหน้าจอที่ไม่เหมาะสมขณะอยู่ใน โหมดเต็มหน้าจอ การดำเนินการนี้จำเป็นเนื่องจากแอปที่สมจริง เช่น เกม มักไม่ได้ปรับให้เหมาะกับทุกการวางแนว และอาจมี UX ที่ไม่ดี เมื่อหมุน นอกจากนี้ เกมบางเกมยังต้องใช้เซ็นเซอร์ในการเล่นเกม ดังนั้นผู้ใช้อาจทําให้เกิดการหมุนดังกล่าวโดยไม่ตั้งใจเมื่อเปิดการหมุนอัตโนมัติ
ใช้ได้เฉพาะในกรณีที่เปิดใช้ ignoreOrientationRequest

กรณีการใช้งานหรือบริบท
ล็อกการหมุนสำหรับแอปที่สมจริง

สัดส่วนภาพ

ส่วนนี้แสดงการตั้งค่าการกำหนดค่าทั้งหมดที่มีผลต่อการกำหนดค่าระดับกิจกรรม สำหรับสัดส่วนภาพ

ชื่อ ตำแหน่ง ประเภท ค่าเริ่มต้น
config_fixedOrientationLetterboxAspectRatio frameworks/base/core/res/res/values/config.xml Float 0.0
คำอธิบาย
กำหนดค่าสัดส่วนภาพของแถบดำบนและล่างสำหรับแนวนอนหรือแนวตั้งคงที่ ระบบจะไม่สนใจค่าที่น้อยกว่าหรือเท่ากับ 1.0

กรณีการใช้งานหรือบริบท
กำหนดค่าสัดส่วนภาพเริ่มต้นของอุปกรณ์ที่ใช้ได้กับแอปส่วนใหญ่ที่แสดงแถบดำด้านบนและด้านล่าง มักมีสัดส่วนภาพใกล้เคียงกับสี่เหลี่ยมจัตุรัส
config_letterboxIsSplitScreenAspectRatioForUnresizableAppsEnabled frameworks/base/core/res/res/values/config.xml Bool false
คำอธิบาย
กำหนดว่าจะใช้สัดส่วนภาพของโหมดแยกหน้าจอเป็นสัดส่วนภาพเริ่มต้นสำหรับแอปที่ปรับขนาดไม่ได้หรือไม่

กรณีการใช้งานหรือบริบท
แอปส่วนใหญ่ที่ปรับขนาดไม่ได้คาดหวังว่าจะใช้เลย์เอาต์โทรศัพท์แบบแท่งลูกกวาดแนวตั้ง
config_letterboxIsDisplayAspectRatioForFixedOrientationLetterboxEnabled frameworks/base/core/res/res/values/config.xml Bool false
คำอธิบาย
กำหนดว่าจะใช้อัตราส่วนกว้างยาวของจอแสดงผลเป็นอัตราส่วนกว้างยาวเริ่มต้นสำหรับแอปทั้งหมดที่แสดงเป็นแถบดำด้านบนและด้านล่างหรือไม่

กรณีการใช้งานหรือบริบท
การกำหนดค่าเพื่อใช้อัตราส่วนกว้างยาวของจอแสดงผลโดยอัตโนมัติ แทนการกำหนดค่าค่าแบบลอยตัว

กล้อง

ส่วนนี้แสดงการตั้งค่าการกำหนดค่าทั้งหมดที่มีผลต่อแอปเมื่อมีการเรียกกลับของ onCameraOpened การตั้งค่าเหล่านี้อาจส่งผลต่อการแสดงผล กิจกรรม และการกำหนดค่ากล้อง

ชื่อ ตำแหน่ง ประเภท ค่าเริ่มต้น
config_isWindowManagerCameraCompatTreatmentEnabled frameworks/base/core/res/res/values/config.xml Bool false
คำอธิบาย
เปิดใช้การจัดการความเข้ากันได้ของกล้องสำหรับปัญหาที่เกิดจาก การวางแนวที่ไม่ตรงกันระหว่างบัฟเฟอร์ของกล้องกับหน้าต่างแอป
ซึ่งรวมถึงการหมุนกิจกรรมที่กำหนดการวางแนวไว้แล้ว ที่เชื่อมต่อกับกล้องในโหมดเต็มหน้าจอและการแสดงเคล็ดลับเครื่องมือในโหมด แยกหน้าจอ
ปิดใช้การหมุนบังคับได้โดยการลบล้างต่อแอป OVERRIDE_CAMERA_COMPAT_DISABLE_FORCE_ROTATION.

กรณีการใช้งานหรือบริบท
แก้ไขการแสดงตัวอย่างกล้องที่หมุนโดยบังคับ หมุนจอแสดงผลให้ตรงกับการวางแนวที่แอปขอ
config_isWindowManagerCameraCompatSplitScreenAspectRatioEnabled frameworks/base/core/res/res/values/config.xml Bool false
คำอธิบาย
กำหนดว่ากิจกรรมจะใช้อัตราส่วนภาพแบบแยกหน้าจอหรือไม่เมื่อเปิดใช้การประมวลผลความเข้ากันได้ของกล้อง และกิจกรรมเชื่อมต่อกับ กล้องในโหมดเต็มหน้าจอ

กรณีการใช้งานหรือบริบท
แก้ไขการแสดงตัวอย่างกล้องที่ยืดออกโดยการใส่แถบดำด้านบนและด้านล่างของกิจกรรมให้อัตราส่วนภาพคล้ายแท่งลูกกวาด
มักใช้ร่วมกับการเปิดใช้การบังคับหมุน (config_isWindowManagerCameraCompatTreatmentEnabled และ camera.enable_landscape_to_portrait) ในอุปกรณ์แนวนอนเพื่อแก้ไขปัญหาความเข้ากันได้ของกล้องที่ยืดออกโดยการจำลองสัดส่วนภาพแบบแท่งลูกกวาดแนวตั้งสำหรับกิจกรรม
camera.enable_landscape_to_portrait พร็อพเพอร์ตี้ ระบบ Bool false
คำอธิบาย
จำกัดการเข้าถึง OVERRIDE_CAMERA_LANDSCAPE_TO_PORTRAIT การรักษา
บังคับให้กล้องครอบตัดและหมุนเอาต์พุตของกล้อง 90 องศาในกล้องที่มีการวางแนวแนวนอนตามธรรมชาติเพื่อจำลองการวางแนวแนวตั้งตามธรรมชาติ การวางแนวเซ็นเซอร์กล้องที่รายงานจะเป็นแนวตั้งสำหรับกล้องแนวนอนทั้งหมดในอุปกรณ์ แอปจำนวนมากไม่รองรับสถานการณ์นี้และแสดงรูปภาพที่ยืดออก

กรณีการใช้งานหรือบริบท
เปิดใช้การหมุน HAL ของกล้องและการครอบตัด ดูข้อมูลเพิ่มเติม เกี่ยวกับการปรับแต่งได้ที่หมุน ครอบตัด ปรับขนาด
เพิ่มข้อมูลต่อไปนี้ลงในไฟล์ mk ในเวลาบิลด์: PRODUCT_PROPERTY_OVERRIDES += camera.enable_landscape_to_portrait=true
การดำเนินการนี้กำหนดให้อุปกรณ์รองรับ SCALER_ROTATE_AND_CROP ใน HAL ดู CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODES
ดูคำแนะนำในการใช้งาน HAL สำหรับ SCALER_ROTATE_AND_CROP โดยเฉพาะได้ที่ metadata_definitions.xml

พื้นหลังและ UI

ส่วนนี้แสดงการตั้งค่าการกำหนดค่าทั้งหมดที่ใช้กับพื้นผิวของ เลเยอร์แถบดำบนล่างสำหรับการปรับแต่ง UI หรือที่ระดับกิจกรรม

ชื่อ ตำแหน่ง ประเภท ค่าเริ่มต้น
config_letterboxActivityCornersRadius frameworks/base/core/res/res/values/config.xml Integer 0
คำอธิบาย
กำหนดค่ารัศมีมุมสำหรับกิจกรรมที่แสดงในโหมด Letterbox ค่าที่น้อยกว่า 0 จะเปิดใช้มุมโค้งที่มีรัศมีเท่ากับค่าต่ำสุดระหว่างรัศมีมุมล่างของอุปกรณ์ ค่าเริ่มต้นของ 0 จะปิดตรรกะมุมโค้งมน ใน AppCompatLetterboxPolicy

กรณีการใช้งานหรือบริบท
โดยปกติจะกำหนดค่าให้ตรงกับมุมโค้งมน ของอุปกรณ์จริง
config_letterboxIsEnabledForTranslucentActivities frameworks/base/core/res/res/values/config.xml Bool false
คำอธิบาย
กำหนดว่าจะเปิดใช้ลักษณะการทำงานที่เฉพาะเจาะจงสำหรับกิจกรรมกึ่งโปร่งใส การแสดงจดหมาย

กรณีการใช้งานหรือบริบท
เปิดใช้กิจกรรมกึ่งโปร่งใสหรือโมดอลให้แสดงจดหมายและ จำกัดอยู่ในการกำหนดค่ากิจกรรมที่แสดงจดหมาย นโยบาย มีผลบังคับใช้ใน TransparentPolicy
config_isCompatFakeFocusEnabled frameworks/base/core/res/res/values/config.xml Bool false
คำอธิบาย
กำหนดค่าว่าจะเปิดใช้การส่งโฟกัสหลอกที่เข้ากันได้สำหรับกิจกรรมที่กลับมาทำงานต่อในโหมดแยกหน้าจอหรือไม่
การดำเนินการนี้จำเป็นเนื่องจากเอนจินเกมบางตัวจะรอรับโฟกัสก่อนที่จะวาดเนื้อหาของ แอป ซึ่งไม่ได้ระบุไว้โดยค่าเริ่มต้นในโหมดหลายหน้าต่าง

กรณีการใช้งานหรือบริบท
Flag เดิมเพื่อใช้การประมวลผลความเข้ากันได้สำหรับเอนจินเกม Unity สำหรับแอปที่กลายเป็นสีดำหลังจากเข้าสู่โหมดแยกหน้าจอและจะวาดหลังจากที่ผู้ใช้ แตะและโฟกัสแอปเท่านั้น
config_letterboxBackgroundType frameworks/base/core/res/res/values/config.xml Integer 0
คำอธิบาย
กำหนดค่าลักษณะที่มุมของพื้นหลังจดหมาย
  • 0 - พื้นหลังสีทึบโดยใช้สีที่ระบุใน R.color.config_letterboxBackgroundColor
  • 1 - สีที่ระบุใน R.attr.colorBackground สำหรับแอปพลิเคชันที่แสดงในกรอบจดหมาย
  • 2 - สีที่ระบุใน R.attr.colorBackgroundFloating สำหรับ แอปพลิเคชันที่มีแถบดำด้านบนและด้านล่าง
  • 3 - วอลเปเปอร์ที่มีการเบลอแบบหรี่แสงหรือม่านทึบแสงสีเข้ม พารามิเตอร์ต่อไปนี้อย่างน้อย 1 รายการต้องมากกว่า 0 config_letterboxBackgroundWallpaperBlurRadius หรือ config_letterboxBackgroundWallpaperDarkScrimAlpha หากไม่ใช่กรณีนี้ หรือ หากมีการระบุรัศมีการเบลอ แต่อุปกรณ์ไม่รองรับการเบลอและมีการเลือกตัวเลือกนี้ การติดตั้งใช้งานจะใช้ตัวเลือก 0 เป็นค่าเริ่มต้น หากค่าที่ระบุอยู่นอกช่วงนี้ ระบบจะถือว่าใช้ตัวเลือก 0


กรณีการใช้งานหรือบริบท
ฟีเจอร์นี้ยังไม่เปิดตัวเนื่องจากปัญหาด้านประสิทธิภาพที่มีอยู่ OEM สามารถสร้างการใช้งานฟีเจอร์นี้ได้เอง แต่ AOSP จะไม่จัดการข้อบกพร่องใดๆ
config_letterboxBackgroundColor frameworks/base/core/res/res/values/config.xml Color @color/system_neutral1_1000
คำอธิบาย
กำหนดค่าสีของพื้นหลังแถบดำบนและล่างหากมีเงื่อนไขข้อใดข้อหนึ่งต่อไปนี้true
  • เลือกตัวเลือก 0 สำหรับ R.integer.config_letterboxBackgroundType
  • เลือกตัวเลือก 1 สำหรับ R.integer.config_letterboxBackgroundType และไม่ได้ระบุ R.attr.colorBackground สำหรับแอป
  • เลือกตัวเลือก 2 สำหรับ R.integer.config_letterboxBackgroundType และไม่ได้ระบุ R.attr.colorBackgroundFloating สำหรับแอป
  • เลือกตัวเลือก 3 สำหรับ R.integer.config_letterboxBackgroundType และขอเบลอ แต่ไม่รองรับในอุปกรณ์ หรือไม่ได้ระบุทั้งอัลฟ่าของดาร์กสกริม และรัศมีการเบลอ


กรณีการใช้งานหรือบริบท
ฟีเจอร์นี้ยังไม่เปิดตัวเนื่องจากปัญหาด้านประสิทธิภาพที่มีอยู่ OEM สามารถสร้างการใช้งานฟีเจอร์นี้ได้เอง แต่ AOSP จะไม่จัดการข้อบกพร่องใดๆ
config_letterboxBackgroundWallpaperBlurRadius frameworks/base/core/res/res/values/config.xml Dimen 38dp
คำอธิบาย
กำหนดค่ารัศมีการเบลอสำหรับตัวเลือก 3 ใน R.integer.config_letterboxBackgroundType ระบบจะไม่สนใจค่าที่น้อยกว่า 0 และจะใช้ 0

กรณีการใช้งานหรือบริบท
ฟีเจอร์นี้ยังไม่เปิดตัวเนื่องจากปัญหาด้านประสิทธิภาพที่มีอยู่ OEM สามารถสร้างการใช้งานฟีเจอร์นี้ได้เอง แต่ AOSP จะไม่จัดการข้อบกพร่องใดๆ
config_letterboxBackgroundWallpaperDarkScrimAlpha frameworks/base/core/res/res/values/config.xml Float 0.54
คำอธิบาย
กำหนดค่าอัลฟ่าของเลเยอร์สีดำกึ่งโปร่งแสงที่แสดงเหนือพื้นหลังกล่องจดหมายของวอลเปเปอร์ เมื่อเลือกตัวเลือก 3 สำหรับ R.integer.config_letterboxBackgroundType ระบบจะละเว้นค่าที่น้อยกว่า 0 หรือมากกว่าหรือเท่ากับ 1 และใช้ 0.0 (โปร่งใส) แทน

กรณีการใช้งานหรือบริบท
ฟีเจอร์นี้ยังไม่เปิดตัวเนื่องจากปัญหาด้านประสิทธิภาพที่มีอยู่ OEM สามารถสร้างการใช้งานฟีเจอร์นี้ได้เอง แต่ AOSP จะไม่จัดการข้อบกพร่องใดๆ

ระยะที่เดินทางถึงได้และการวางตำแหน่ง

ส่วนนี้แสดงการตั้งค่าการกำหนดค่าทั้งหมดที่ใช้กับการกำหนดค่าระดับกิจกรรม เพื่อการช่วยเหลือพิเศษ

ชื่อ ตำแหน่ง ประเภท ค่าเริ่มต้น
config_letterboxIsHorizontalReachabilityEnabled frameworks/base/core/res/res/values/config.xml Bool false
คำอธิบาย
กำหนดค่าว่าจะเปิดใช้การเปลี่ยนตำแหน่งการเข้าถึงแนวนอนสำหรับ แอปที่แสดงเป็นแถบดำในโหมดการแสดงหน้าต่างแบบเต็มหน้าจอหรือไม่

กรณีการใช้งานหรือบริบท
เปลี่ยนตำแหน่งแอปแนวตั้งไปทางซ้ายหรือขวาเพื่อให้เข้าถึงได้ง่ายขึ้น
config_letterboxHorizontalPositionMultiplier frameworks/base/core/res/res/values/config.xml Float 0.5
คำอธิบาย
กำหนดค่าตำแหน่งแนวนอนของกึ่งกลางหน้าต่างแอปที่แสดงเป็นแถบดำ
0 สอดคล้องกับด้านซ้ายของหน้าจอ และ 1 สอดคล้องกับด้านขวา
หากค่าที่ระบุต่ำกว่า 0 หรือสูงกว่า 1 ระบบจะละเว้นค่าดังกล่าว สำหรับท่าทางที่ไม่ใช่หนังสือ ระบบจะใช้ตำแหน่งตรงกลาง (0.5) สำหรับท่าทางของหนังสือ จะใช้ตำแหน่งด้านซ้าย (0.0)

กรณีการใช้งานหรือบริบท
ค่าเริ่มต้นคือตรงกลางสำหรับแอปที่อยู่ในรูปแบบจดหมายในแนวตั้ง
config_letterboxIsVerticalReachabilityEnabled frameworks/base/core/res/res/values/config.xml Bool false
คำอธิบาย
กำหนดค่าว่าจะเปิดใช้การเปลี่ยนตำแหน่งการเข้าถึงแนวตั้งสำหรับ แอปที่มีแถบดำด้านบนและด้านล่างในโหมดการแสดงหน้าต่างแบบเต็มหน้าจอหรือไม่

กรณีการใช้งานหรือบริบท
เปลี่ยนตำแหน่งแอปแนวนอนไปที่ด้านบนหรือด้านล่างเพื่อให้เข้าถึงได้ง่ายขึ้น
config_letterboxVerticalPositionMultiplier frameworks/base/core/res/res/values/config.xml Float 0.0
คำอธิบาย
กำหนดค่าตำแหน่งแนวตั้งของกึ่งกลางหน้าต่างแอปที่แสดงเป็นแถบดำ
ค่า 0 สอดคล้องกับด้านบนของหน้าจอ และ 1 สอดคล้องกับด้านล่าง ของหน้าจอ
หากค่าที่ระบุต่ำกว่า 0 หรือสูงกว่า 1 ระบบจะละเว้นค่าดังกล่าว สำหรับโหมดที่ไม่ใช่โหมดตั้งโต๊ะ ระบบจะใช้ตำแหน่งตรงกลาง (0.5) สำหรับท่าทางบนโต๊ะ ตำแหน่งด้านบน (0.0) จะ ใช้

กรณีการใช้งานหรือบริบท
กำหนดค่าให้ตรงกลางในอุปกรณ์หน้าจอขนาดใหญ่สำหรับแอปที่ มีแถบดำด้านบนและด้านล่างในแนวนอน
config_letterboxIsAutomaticReachabilityInBookModeEnabled frameworks/base/core/res/res/values/config.xml Bool false
คำอธิบาย
กำหนดว่าจะเปิดใช้การวางตำแหน่งการเข้าถึงแนวนอนอัตโนมัติในท่าทางหนังสือ สำหรับแอปที่มีแถบดำบนและล่างในโหมดการแสดงหน้าต่างแบบเต็มหน้าจอหรือไม่

กรณีการใช้งานหรือบริบท
ช่วยให้แอปที่มีแถบดำบนและล่างในแนวตั้งย้ายไปมาระหว่างด้านซ้ายและขวาได้ เมื่ออุปกรณ์แบบพับได้อยู่ในท่าทางหนังสือ
config_letterboxBookModePositionMultiplier frameworks/base/core/res/res/values/config.xml Float 0.0
คำอธิบาย
กำหนดค่าตำแหน่งแนวนอนของกึ่งกลางหน้าต่างแอปแบบกล่องจดหมายเมื่ออยู่ใน ท่าทางหนังสือ
0 สอดคล้องกับด้านซ้ายของหน้าจอ และ 1 สอดคล้องกับด้านขวา หากค่าที่ระบุน้อยกว่า 0 หรือมากกว่า 1 ระบบจะละเว้นค่าดังกล่าวและใช้ตำแหน่งซ้าย (0.0) แทน

กรณีการใช้งานหรือบริบท
ตัวคูณสำหรับจำนวนที่ตำแหน่งของแอปเลื่อนเมื่อ จัดตำแหน่งใหม่ในโหมดหนังสือ
config_letterboxDefaultPositionForBookModeReachability frameworks/base/core/res/res/values/config.xml Integer 0
คำอธิบาย
กำหนดค่าตำแหน่งแนวนอนเริ่มต้นของหน้าต่างแอปที่มีแถบปรากฏอยู่ตามขอบเมื่อเปิดใช้ การเข้าถึงและแอปอยู่ในโหมดเต็มหน้าจอในแนวนอนของอุปกรณ์ และในท่าทางของหนังสือ เมื่อเปิดใช้ความสามารถในการเอื้อมถึงแล้ว ตำแหน่งจะเปลี่ยนไปมาระหว่างซ้าย กลาง และขวาได้
  • ตัวเลือก 0 - ซ้าย
  • ตัวเลือก 1 - กึ่งกลาง
  • ตัวเลือก 2 - ขวา
หากค่าที่ระบุอยู่นอกช่วงนี้ ระบบจะถือว่าใช้ตัวเลือก 0 (ซ้าย)

กรณีการใช้งานหรือบริบท
ตำแหน่งเริ่มต้นที่แอปอยู่ในโหมด หนังสือ
config_letterboxTabletopModePositionMultiplier frameworks/base/core/res/res/values/config.xml Float 0.0
Description
กำหนดค่าตำแหน่งแนวตั้งของกึ่งกลางหน้าต่างแอปที่มีแถบดำด้านบน-ล่างของภาพเมื่ออยู่ในท่าตั้งบนโต๊ะ
ค่า 0 สอดคล้องกับด้านบนของหน้าจอ และ 1 สอดคล้องกับด้านล่าง ของหน้าจอ หากค่าที่ระบุต่ำกว่า 0 หรือสูงกว่า 1 ระบบจะละเว้นค่าดังกล่าวและใช้ตำแหน่งบนสุด 0.0 แทน

กรณีการใช้งานหรือบริบท
ตัวคูณสำหรับตำแหน่งของแอปในอุปกรณ์ พับได้เมื่ออยู่ในท่าตั้งบนโต๊ะ
config_letterboxDefaultPositionForTabletopModeReachability frameworks/base/core/res/res/values/config.xml Integer 0
คำอธิบาย
กำหนดค่าตำแหน่งแนวตั้งเริ่มต้นของหน้าต่างแอปที่มีแถบปรากฏอยู่ตามขอบเมื่อเปิดใช้ การเข้าถึงและแอปอยู่ในโหมดเต็มหน้าจอในอุปกรณ์แนวตั้ง และในท่าทางบนโต๊ะ เมื่อเปิดใช้ความสามารถในการเข้าถึง ตำแหน่งของ จะเปลี่ยนไปมาระหว่างด้านบน ตรงกลาง และด้านล่างได้ การกำหนดค่านี้ กำหนดค่าเริ่มต้น
  • ตัวเลือก 0 - ยอดนิยม
  • ตัวเลือก 1 - กึ่งกลาง
  • ตัวเลือก 2 - ด้านล่าง
หากค่าที่ระบุอยู่นอกช่วงนี้ ระบบจะถือว่าใช้ตัวเลือก 0 (ด้านบน)

กรณีการใช้งานหรือบริบท
ตำแหน่งเริ่มต้นที่วางแอปในโหมด วางบนโต๊ะ

การตั้งค่า

ส่วนนี้แสดงการตั้งค่าการกำหนดค่าทั้งหมดสำหรับการปรับแต่งและการเปิดใช้การตั้งค่าสัดส่วนภาพของผู้ใช้ในการตั้งค่า > แอป > สัดส่วนภาพ

ชื่อ ตำแหน่ง ประเภท ค่าเริ่มต้น
config_appCompatUserAppAspectRatioSettingsIsEnabled frameworks/base/core/res/res/values/config.xml Bool false
คำอธิบาย
กำหนดว่าจะเปิดใช้การตั้งค่าการลบล้างสัดส่วนภาพต่อผู้ใช้ต่อแอปหรือไม่

กรณีการใช้งานหรือบริบท
เปิดใช้ฟีเจอร์การตั้งค่าสัดส่วนภาพในการตั้งค่า > แอป > สัดส่วนภาพ
config_appCompatUserAppAspectRatioFullscreenIsEnabled frameworks/base/core/res/res/values/config.xml Bool false
คำอธิบาย
กำหนดค่าว่าจะเปิดใช้ตัวเลือกการลบล้างแบบเต็มหน้าจอต่อแอปในการตั้งค่าสัดส่วน ภาพของผู้ใช้หรือไม่

กรณีการใช้งานหรือบริบท
เปิดใช้ตัวเลือกเต็มหน้าจอในฟีเจอร์การตั้งค่าสัดส่วน ภาพของผู้ใช้
การตั้งค่านี้จะไม่สนใจข้อจำกัดของแอปเกี่ยวกับการปรับขนาดไม่ได้ สัดส่วนภาพ และ การวางแนว
config_userAspectRatioOverrideEntries packages/apps/Settings/res/values/config.xml string-array ตัวเลือกทั้งหมดจะเปิดใช้โดยค่าเริ่มต้น
คำอธิบาย
กำหนดค่าหน้าจอการตั้งค่าสัดส่วนภาพของแอปและตัวเลือกการลบล้างสัดส่วนภาพของผู้ใช้ ต้องมีความยาวและลำดับเหมือนกับ config_userAspectRatioOverrideValues
หากมีการเปลี่ยนแปลง ให้อัปเดตตรรกะการสำรองและกู้คืนสำหรับการเลือกค่าที่ ใกล้เคียงที่สุดใน UserAspectRatioBackupManager.java ด้วย

กรณีการใช้งานหรือบริบท
การแมปสำหรับสตริงที่แสดงในการตั้งค่า
config_userAspectRatioOverrideValues packages/apps/Settings/res/values/config.xml integer-array ระบบจะใช้สตริง AOSP ทั้งหมดโดยค่าเริ่มต้น
คำอธิบาย
กำหนดค่าหน้าจอการตั้งค่าสัดส่วนภาพของแอปและตัวเลือกการลบล้างสัดส่วนภาพของผู้ใช้ ต้องมีความยาวและลำดับเหมือนกับ config_userAspectRatioOverrideEntries ค่าต้อง สอดคล้องกับ PackageManager.UserMinAspectRatio
หากมีการเปลี่ยนแปลง ให้อัปเดตตรรกะการสำรองและกู้คืนเพื่อเลือกค่าที่ใกล้เคียงที่สุดใน UserAspectRatioBackupManager.java ด้วย

กรณีการใช้งานหรือบริบท
การแมปสำหรับตัวเลือกไปยังแบ็กเอนด์ PackageManager.UserMinAspectRatio:
  • ค่าเริ่มต้นของแอป - 0
  • แยกหน้าจอ - 1
  • สัดส่วนภาพของจอแสดงผล - 2
  • 4:3 - 3
  • 16:9 - 4
  • 3:2 - 5
  • เต็มหน้าจอ - 6
Drawable แบบคงที่สำหรับธีมสว่าง packages/apps/Settings/res/drawable/ic_app_aspect_ratio_<option>.xml vector ชิ้นงานขนาดอุปกรณ์พับได้แนวนอน
Description
Configures the available drawables:


กรณีการใช้งานหรือบริบท
รูปภาพแบบคงที่ที่มีธีมสีอ่อนในแต่ละตัวเลือกในการตั้งค่า > ข้อมูลแอป > สัดส่วนภาพ
ภาพวาดแบบคงที่ในธีมมืด packages/apps/Settings/res/drawable-night/ic_app_aspect_ratio_<option>.xml vector ชิ้นงานขนาดอุปกรณ์พับได้แนวนอน
Description
Configures the available drawables:


กรณีการใช้งานหรือบริบท
รูปภาพแบบคงที่ในธีมมืดภายใต้แต่ละตัวเลือกในการตั้งค่า > ข้อมูลแอป > สัดส่วนภาพ
Drawable แบบไดนามิก
user_aspect_ratio_education.json
packages/apps/Settings/res/raw/user_aspect_ratio_education.json JSON ชิ้นงานแบบไดนามิกขนาดแนวนอนสำหรับอุปกรณ์พับได้
คำอธิบาย
กำหนดค่าภาพ Lottie ใน UserAspectRatioAppsPageProvider

กรณีการใช้งานหรือบริบท
ภาพเคลื่อนไหวในรายการแอป: การตั้งค่า > แอป > สัดส่วน ภาพ

การศึกษา

ส่วนนี้แสดงการตั้งค่าการกำหนดค่าทั้งหมดสำหรับการให้ความรู้แก่ผู้ใช้เกี่ยวกับฟีเจอร์ความเข้ากันได้ของแอป

ชื่อ ตำแหน่ง ประเภท ค่าเริ่มต้น
config_letterboxIsEducationEnabled frameworks/base/core/res/res/values/config.xml Bool false
คำอธิบาย
กำหนดค่าว่าจะเปิดใช้คำแนะนำเกี่ยวกับ Letterbox สำหรับแอปแบบเต็มหน้าจอที่ใช้ Letterbox หรือไม่

กรณีการใช้งานหรือบริบท
ดูรูปที่ 1 สำหรับกรณีการใช้งานคำแนะนำเกี่ยวกับ Letterbox สำหรับแอปแบบเต็มหน้าจอ
config_letterboxIsRestartDialogEnabled frameworks/base/libs/WindowManager/Shell/res/values/config.xml Bool false
คำอธิบาย
กำหนดค่าว่าจะเปิดใช้กล่องโต้ตอบการรีสตาร์ทแบบขยายหรือไม่

กรณีการใช้งานหรือบริบท
ดูกรณีการใช้งานกล่องโต้ตอบการรีสตาร์ทแบบขยายได้ที่รูปที่ 2
config_letterboxIsReachabilityEducationEnabled frameworks/base/libs/WindowManager/Shell/res/values/config.xml Bool false
คำอธิบาย
กำหนดว่าจะเปิดใช้การให้ความรู้เพิ่มเติมเกี่ยวกับความสามารถในการเข้าถึงหรือไม่

กรณีการใช้งานหรือบริบท
ดูกรณีการใช้งานการให้ความรู้เกี่ยวกับความสามารถในการเข้าถึงได้ในรูปที่ 3
config_isSizeCompatRestartButtonEnabled frameworks/base/libs/WindowManager/Shell/res/values/config.xml Bool true
คำอธิบาย
กำหนดว่าจะเปิดใช้ปุ่มรีสตาร์ทความเข้ากันได้ของขนาดหรือไม่

กรณีการใช้งานหรือบริบท
ปุ่มรีสตาร์ทเพื่อรีสตาร์ทการกำหนดค่าสำหรับแอปที่ปรับขนาดไม่ได้หลังจากที่ขนาดหน้าต่างเปลี่ยนแปลง เช่น เมื่อเข้าสู่โหมดแยกหน้าจอหรือหมุน จอแสดงผล
ดู Use Case ของปุ่มรีสตาร์ทที่เข้ากันได้กับขนาดในรูปที่ 4
config_letterboxRestartButtonHideTolerance frameworks/base/libs/WindowManager/Shell/res/values/config.xml Integer 100
Description
กำหนดค่าความคลาดเคลื่อนขั้นต่ำของเปอร์เซ็นต์ขอบเขตกิจกรรมภายในงานเพื่อซ่อนปุ่มรีสตาร์ทความเข้ากันได้ของขนาด ระบบจะละเว้นค่าที่ต่ำกว่า 0 หรือสูงกว่า 100
100 คือค่าเริ่มต้นที่กิจกรรมต้องพอดีกับ งานเพื่อให้ซ่อนปุ่มรีสตาร์ทความเข้ากันได้ของขนาดได้ ค่า 0 หมายความว่า ปุ่มรีสตาร์ทความเข้ากันได้ของขนาดจะซ่อนอยู่เสมอ

กรณีการใช้งานหรือบริบท
ใช้ในอุปกรณ์ที่มีสัดส่วนใกล้เคียงกับสี่เหลี่ยมจัตุรัสเพื่อซ่อนปุ่มรีสตาร์ทเมื่อ ผู้ใช้หมุนแอปที่ปรับขนาดไม่ได้ แต่การรีสตาร์ทแอป จะไม่ปรับปรุง UI อย่างมาก

รูปภาพต่อไปนี้แสดงกรณีการใช้งานการซ้อนทับเพื่อการศึกษา

การเว้นขอบดำสำหรับแอปแบบเต็มหน้าจอ

รูปที่ 1 การเว้นขอบดำสำหรับแอปแบบเต็มหน้าจอ

ตัวอย่างกล่องโต้ตอบการรีสตาร์ทแบบขยาย

รูปที่ 2 กล่องโต้ตอบการรีสตาร์ทแบบขยาย

ตัวอย่างการให้ความรู้เรื่องการเข้าถึง

รูปที่ 3 การให้ความรู้เกี่ยวกับความสามารถในการเข้าถึง

ตัวอย่างปุ่มรีสตาร์ทที่เข้ากันได้กับขนาด

รูปที่ 4 ปุ่มเริ่มใหม่เพื่อความเข้ากันได้ของขนาด