راهنمای راه‌اندازی سازگاری برنامه با صفحه‌نمایش بزرگ

این صفحه راهنمای راه‌اندازی جامع و نمایه‌ای برای هم‌پوشانی‌های پیکربندی سازگاری برنامه با صفحه‌نمایش بزرگ Android ارائه می‌دهد.

نمایش

این بخش همه تنظیمات پیکربندی را که بر پیکربندی سطح نمایش تأثیر می‌گذارد فهرست می‌کند.

نام مکان نوع پیش‌فرض
ignoreOrientationRequest display_settings.xml پیکربندی false
true برای صفحه‌نمایش‌های بزرگ (>= 600dp)
شرح
به کاربر امکان می‌دهد فعالیت‌های با جهت ثابت را در نمایشگر مشخص‌شده آزادانه بچرخاند.
مثال:
          <display-settings>
              <config identifier="0" />
              <display
                  name="<display's uniqueId>"
                  ignoreOrientationRequest="true"/>
          </display-settings>
        

مورد استفاده یا بافت
نمایشگر جهت‌یابی درخواستی همه برنامه‌ها را نادیده می‌گیرد و برنامه حاشیه‌دار می‌شود.
در همه دستگاه‌های صفحه‌نمایش بزرگ و سیستم‌عامل Android Automotive استفاده می‌شود. این تنظیم پیش‌فرض برای همه دستگاه‌های دارای صفحه‌نمایش بزرگ با smallestScreenWidthDp >= 600dp در Android 16 و بالاتر است.
config_letterboxIsDisplayRotationImmersiveAppCompatPolicyEnabled frameworks/base/core/res/res/values/config.xml Bool false
شرح
خط‌مشی سازگاری چرخش را برای برنامه‌های فراگیر فعال می‌کند که از چرخش خودکار به جهت غیربهینه صفحه‌نمایش در حالت تمام‌صفحه جلوگیری می‌کند. این کار ضروری است زیرا برنامه‌های فراگیر، مثل بازی‌ها، اغلب برای همه جهت‌ها بهینه‌سازی نشده‌اند و ممکن است هنگام چرخش تجربه کاربری ضعیفی داشته باشند. علاوه‌براین، برخی‌از بازی‌ها برای گیم‌پلی به حسگرها متکی هستند، بنابراین کاربران ممکن است وقتی چرخش خودکار روشن است، چنین چرخش‌هایی را به‌طور تصادفی راه‌اندازی کنند.
فقط درصورتی اعمال می‌شود که 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.
خروجی دوربین را مجبور می‌کند در دوربین‌هایی با جهت طبیعی افقی برش داده شود و ۹۰ درجه بچرخد تا جهت طبیعی عمودی شبیه‌سازی شود. جهت حسگر دوربین گزارش‌شده برای همه دوربین‌های افقی در دستگاه عمودی است. بسیاری از برنامه‌ها این وضعیت را مدیریت نمی‌کنند و تصاویر را به‌صورت کشیده نمایش می‌دهند.

مورد استفاده یا بافت
درمان چرخش و برش HAL دوربین را فعال می‌کند. برای اطلاعات بیشتر درباره این پردازش، به چرخاندن، برش دادن، مقیاس‌بندی مراجعه کنید.
مورد زیر را در زمان ساخت به فایل mk اضافه کنید: PRODUCT_PROPERTY_OVERRIDES += camera.enable_landscape_to_portrait=true
این پردازش نیازمند آن است که دستگاه در HAL از پشتیبانی کند SCALER_ROTATE_AND_CROP. CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODES را ببینید.
برای راهنمایی درباره پیاده‌سازی مختص HAL برای SCALER_ROTATE_AND_CROP، به metadata_definitions.xml مراجعه کنید.
config_isCameraCompatSimulateRequestedOrientationTreatmentEnabled frameworks/base/core/res/res/values/config.xml Bool true
شرح
نشان می‌دهد که آیا پردازش سازگاری دوربین، که جهت‌گیری درخواست‌شده برنامه را شبیه‌سازی می‌کند، فعال است یا نه. هدف از این درمان کاهش مشکلات ناشی از عدم تطابق جهت بین بافر دوربین و پنجره برنامه است. این شامل فعالیت‌های با جهت‌گیری ثابت متصل به دوربین، برش بافر دوربین (چرخش و برش)، و جعبه ایمنی چرخش نمایشگر برای مطابقت با جهت‌گیری موردانتظار برنامه می‌شود.

مورد استفاده یا زمینه
شبیه‌سازی جهت‌گیری درخواست‌شده برای فعالیت‌های دوربین در:
  • حالت پنجره‌بندی قالب آزاد
  • درخواست جهت‌گیری ثابت، به‌جز حالت‌های locked یا nosensor

در Android 17 و نسخه‌های بالاتر، این تنظیم عملکرد چرخش اجباری را از config_isWindowManagerCameraCompatTreatmentEnabled غیرفعال می‌کند و خط‌مشی‌های مربوط به جعبه ایمنی چرخش نمایشگر، حاشیه‌گذاری، و چرخش و برش دوربین را برای برنامه‌های دوربین با جهت‌گیری ثابت یکپارچه می‌کند.
config_isCameraCompatSimReqOrientationLandscapeTreatmentEnabled frameworks/base/core/res/res/values/config.xml Bool false
شرح
نشان می‌دهد که آیا پردازش سازگاری دوربین که جهت‌گیری درخواستی برنامه را شبیه‌سازی می‌کند برای دوربین‌های افقی فعال است یا نه. هدف از این درمان کاهش مشکلات ناشی از برنامه‌هایی است که حسگرهای دوربین عمودی را به‌صورت کدبندی‌شده استفاده می‌کنند. این پردازش شامل فعالیت‌های با جهت‌گیری ثابت متصل به دوربین با قاب‌بندی نامه، برش بافر دوربین (چرخش و برش)، جهت‌گیری حسگر به‌صورت عمودی، و محدود کردن چرخش نمایشگر برای مطابقت با جهت‌گیری موردانتظار برنامه می‌شود.

مورد استفاده یا زمینه
در Android 17 و نسخه‌های بالاتر، این پردازش همانند پردازش شبیه‌سازی جهت‌گیری درخواستی برای config_isCameraCompatSimulateRequestedOrientationTreatmentEnabled است اما برای دستگاه‌هایی با دوربین‌های جهت‌گیری افقی.

پس‌زمینه و واسط کاربر

این بخش همه تنظیمات پیکربندی اعمال‌شده روی سطح لایه جعبه نامه برای سفارشی‌سازی واسط کاربر، یا در سطح فعالیت را فهرست می‌کند.

نام مکان نوع پیش‌فرض
config_letterboxActivityCornersRadius frameworks/base/core/res/res/values/config.xml Integer 0
شرح
شعاع گوشه را برای فعالیتی که در حالت جعبه‌ای ارائه شده است پیکربندی می‌کند. مقادیر کمتر از 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
شرح
پیکربندی می‌کند که آیا ارسال تمرکز ساختگی سازگاری برای فعالیت‌های ازسرگرفته‌شده در صفحه تقسیم فعال باشد یا نه.
این کار لازم است زیرا برخی‌از موتورهای بازی قبل‌از رسم محتوای برنامه منتظر می‌مانند تا تمرکز را دریافت کنند، که به‌طور پیش‌فرض در حالت‌های چند پنجره‌ای ارائه نمی‌شود.

مورد استفاده یا زمینه
پرچم قدیمی برای اعمال رفتار سازگاری برای موتورهای بازی 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 - کاغذدیواری با محو کردن کم‌نور یا پارچه تیره. حداقل یکی از پارامترهای زیر باید بزرگ‌تر از 0 باشد: config_letterboxBackgroundWallpaperBlurRadius یا config_letterboxBackgroundWallpaperDarkScrimAlpha. اگر این‌طور نباشد، یا اگر شعاع محو کردن ارائه شده باشد اما محو کردن توسط دستگاه پشتیبانی نشود و این گزینه انتخاب شده باشد، پیاده‌سازی به‌طور پیش‌فرض روی گزینه 0 قرار می‌گیرد. اگر مقدار داده‌شده خارج از این محدوده باشد، گزینه 0 فرض می‌شود.


مورد استفاده یا زمینه
این ویژگی به‌دلیل مشکلات عملکردی موجود راه‌اندازی نشده است. سازندگان اصلی محصول می‌توانند پیاده‌سازی خودشان را برای این ویژگی ایجاد کنند، اما 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 انتخاب شده است و محو کردن درخواست شده است اما در دستگاه پشتیبانی نمی‌شود، یا هر دو مقدار آلفای لایه تیره و شعاع محو کردن ارائه نشده است.


مورد استفاده یا زمینه
این ویژگی به‌دلیل مشکلات عملکردی موجود راه‌اندازی نشده است. سازندگان اصلی محصول می‌توانند پیاده‌سازی خودشان را برای این ویژگی ایجاد کنند، اما «پروژه منبع باز Android» هیچ‌گونه اشکالی را برطرف نخواهد کرد.
config_letterboxBackgroundWallpaperBlurRadius frameworks/base/core/res/res/values/config.xml Dimen 38dp
شرح
شعاع محو کردن را برای «گزینه 3» در R.integer.config_letterboxBackgroundType پیکربندی می‌کند. مقادیر کمتر از 0 نادیده گرفته می‌شوند، و از 0 استفاده می‌شود.

مورد استفاده یا بافت
این ویژگی به‌دلیل مشکلات عملکردی موجود راه‌اندازی نشده است. سازندگان اصلی محصول می‌توانند پیاده‌سازی خودشان را برای این ویژگی ایجاد کنند، اما «پروژه منبع باز Android» هیچ‌گونه اشکالی را برطرف نخواهد کرد.
config_letterboxBackgroundWallpaperDarkScrimAlpha frameworks/base/core/res/res/values/config.xml Float 0.54
شرح
آلفای پرده نیمه‌شفاف سیاهی را که روی پس‌زمینه جعبه نامه کاغذدیواری نشان داده می‌شود پیکربندی می‌کند وقتی گزینه 3 برای R.integer.config_letterboxBackgroundType انتخاب شده باشد. مقادیر کمتر از 0 یا بیشتر یا مساوی با 1 نادیده گرفته می‌شود و به‌جای آن از 0.0 (شفاف) استفاده می‌شود.

مورد استفاده یا زمینه
این ویژگی به‌دلیل مشکلات عملکرد موجود راه‌اندازی نشده است. سازندگان اصلی محصول می‌توانند پیاده‌سازی خودشان را برای این ویژگی ایجاد کنند، اما AOSP هیچ اشکالی را برطرف نخواهد کرد.
config_enableSelfKillRecoveryBetweenInternalDisplays frameworks/base/core/res/res/values/config.xml Bool false
شرح
وقتی true، جابه‌جایی نمایشگر بین نمایشگرهای داخلی از منطق بازیابی خودکشی معاف نیست.

مورد استفاده یا زمینه
در Android 17 و نسخه‌های بالاتر، فرایند بازیابی خودکشی فقط برای جابه‌جایی نمایشگر با نمایشگرهای خارجی فعال است. بااین‌حال، این فرایند در تلفن‌های تاشو با تراکم‌های متفاوت در نمایشگرهای داخلی و خارجی نیز مؤثر است. این پیکربندی فرایند را برای آن دستگاه‌ها فعال می‌کند.

دسترس‌پذیری و موقعیت‌یابی

این بخش همه تنظیمات پیکربندی اعمال‌شده برای پیکربندی سطح فعالیت برای دسترس‌پذیری را فهرست می‌کند.

نام مکان نوع پیش‌فرض
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
شرح
موقعیت عمودی مرکز پنجره برنامه دارای نوار عمودی را در حالت میزکار پیکربندی می‌کند.
مقدار 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
  • ‫۴:۳ - 3
  • ‫۱۶:۹ - 4
  • ‫۳:۲ - 5
  • تمام‌صفحه - 6
دارایی‌های کشیدنی با زمینه روشن ثابت packages/apps/Settings/res/drawable/ic_app_aspect_ratio_<option>.xml vector دارایی‌های اندازه تاشو افقی
شرح
دارایی‌های تصویری دردسترس را پیکربندی می‌کند:


مورد استفاده یا بافت
تصاویر ثابت با زمینه روشن در زیر هر گزینه در تنظیمات > اطلاعات برنامه > نسبت ابعادی.
عناصر طراحی با زمینه تیره ایستا packages/apps/Settings/res/drawable-night/ic_app_aspect_ratio_<option>.xml vector دارایی‌های اندازه تاشو افقی
شرح
دارایی‌های تصویری دردسترس را پیکربندی می‌کند:


مورد استفاده یا بافت
تصاویر ثابت با زمینه تیره در زیر هر گزینه در تنظیمات > اطلاعات برنامه > نسبت ابعادی.
ترسیم‌پذیر پویا
user_aspect_ratio_education.json
packages/apps/Settings/res/raw/user_aspect_ratio_education.json JSON دارایی پویا با اندازه تاشو افقی
شرح
تصویرسازی Lottie را در UserAspectRatioAppsPageProvider پیکربندی می‌کند.

مورد استفاده یا زمینه
پویانمایی زیر فهرست برنامه‌ها: تنظیمات > برنامه‌ها > نسبت ابعاد.

Education

این بخش همه تنظیمات پیکربندی را برای آموزش کاربران درباره ویژگی‌های سازگاری برنامه فهرست می‌کند.

نام مکان نوع پیش‌فرض
config_letterboxIsEducationEnabled frameworks/base/core/res/res/values/config.xml Bool false
شرح
پیکربندی می‌کند که آیا آموزش نوار سیاه برای برنامه‌های تمام‌صفحه با نوار سیاه فعال باشد یا نه.

مورد استفاده یا زمینه
برای دیدن مورد استفاده آموزش نوار سیاه برای برنامه‌های تمام‌صفحه، شکل ۱ را ببینید.
config_letterboxIsRestartDialogEnabled frameworks/base/libs/WindowManager/Shell/res/values/config.xml Bool false
شرح
پیکربندی می‌کند که آیا کادر گفتگوی راه‌اندازی مجدد تمدیدشده فعال باشد یا نه.

مورد استفاده یا زمینه
برای دیدن مورد استفاده کادر گفتگوی راه‌اندازی مجدد تمدیدشده، شکل ۲ را ببینید.
config_letterboxIsReachabilityEducationEnabled frameworks/base/libs/WindowManager/Shell/res/values/config.xml Bool false
شرح
پیکربندی می‌کند که آیا آموزش تکمیلی درباره دسترسی‌پذیری فعال باشد یا نه.

مورد استفاده یا زمینه
برای دیدن مورد استفاده آموزش دسترسی‌پذیری، شکل ۳ را ببینید.
config_isSizeCompatRestartButtonEnabled frameworks/base/libs/WindowManager/Shell/res/values/config.xml Bool true
شرح
پیکربندی می‌کند که دکمه بازراه‌اندازی سازگاری اندازه فعال باشد یا نه.

مورد استفاده یا زمینه
دکمه بازراه‌اندازی برای بازراه‌اندازی پیکربندی برنامه‌های غیرقابل تغییر اندازه پس‌از تغییر اندازه پنجره، برای مثال، هنگام ورود به حالت صفحه تقسیم یا چرخاندن نمایشگر.
برای دیدن مورد استفاده دکمه بازراه‌اندازی سازگاری اندازه، شکل ۴ را ببینید.
config_letterboxRestartButtonHideTolerance frameworks/base/libs/WindowManager/Shell/res/values/config.xml Integer 100
شرح
حداقل رواداری درصد حدود فعالیت را در وظیفه‌اش پیکربندی می‌کند تا دکمه بازراه‌اندازی سازگاری اندازه را پنهان کند. مقادیر کمتر از 0 یا بیشتر از 100 نادیده گرفته می‌شوند.
100 مقدار پیش‌فرض است که در آن فعالیت باید دقیقاً در تکلیف جا بگیرد تا دکمه بازراه‌اندازی سازگاری اندازه پنهان شود. مقدار 0 یعنی دکمه بازراه‌اندازی سازگاری اندازه همیشه پنهان است.

مورد استفاده یا بافت
در دستگاه‌های تقریباً مربع‌شکل برای پنهان کردن دکمه بازراه‌اندازی استفاده می‌شود، وقتی‌که برنامه‌های تغییرناپذیر توسط کاربر چرخانده می‌شوند، اما بازراه‌اندازی برنامه تأثیر چندانی در بهبود واسط کاربر ندارد.

تصاویر زیر موارد استفاده از رونهاد آموزشی را نشان می‌دهد:

آموزش نامه برای برنامه‌های تمام‌صفحه

شکل ۱. آموزش نامه برای برنامه‌های تمام‌صفحه

نمونه‌ای از کادر گفتگوی بازراه‌اندازی طولانی.

شکل ۲. کادر گفتگوی بازراه‌اندازی گسترش‌یافته

نمونه‌ای از آموزش دسترسی‌پذیری.

شکل ۳. آموزش دسترسی‌پذیری.

نمونه‌ای از دکمه بازراه‌اندازی سازگاری اندازه.

شکل ۴. دکمه بازراه‌اندازی سازگاری اندازه.