Przewodnik konfiguracji zgodności aplikacji z urządzeniami z dużym ekranem

Na tej stronie znajdziesz kompleksowy przewodnik konfiguracji i indeks nakładek konfiguracji zgodności aplikacji na Androida z dużym ekranem.

Wyświetlacz

W tej sekcji znajdziesz listę wszystkich ustawień konfiguracji, które wpływają na konfigurację na poziomie wyświetlania.

Nazwa Lokalizacja Typ Domyślny
ignoreOrientationRequest display_settings.xml konfiguracja false
true na duże ekrany (>= 600 dp)
Opis
Umożliwia bezpłatne obracanie przez użytkownika aktywności o stałej orientacji na określonym wyświetlaczu.
Przykład:
          <display-settings>
              <config identifier="0" />
              <display
                  name="<display's uniqueId>"
                  ignoreOrientationRequest="true"/>
          </display-settings>
        

Przypadek użycia lub kontekst
Wyświetlacz ignoruje żądaną orientację wszystkich aplikacji, a aplikacja jest wyświetlana w formacie letterbox.
Używany na wszystkich urządzeniach z dużym ekranem i w systemie operacyjnym Android Automotive. Jest to domyślne ustawienie na wszystkich urządzeniach z dużym ekranem z Androidem 16 lub nowszym.smallestScreenWidthDp >= 600dp
config_letterboxIsDisplayRotationImmersiveAppCompatPolicyEnabled frameworks/base/core/res/res/values/config.xml Bool false
Opis
Włącza zasadę zgodności z rotacją w przypadku aplikacji immersyjnych, która zapobiega automatycznemu obracaniu do nieoptymalnej orientacji ekranu w trybie pełnoekranowym. Jest to konieczne, ponieważ aplikacje immersyjne, takie jak gry, często nie są zoptymalizowane pod kątem wszystkich orientacji i po obróceniu mogą mieć słabą jakość. Niektóre gry wykorzystują czujniki, więc użytkownicy mogą przypadkowo wywołać takie obroty, gdy automatyczne obracanie jest włączone.
Dotyczy tylko sytuacji, gdy włączona jest opcja ignoreOrientationRequest.

Przypadek użycia lub kontekst
Blokuje obracanie w przypadku aplikacji immersyjnych.

Format obrazu

W tej sekcji znajdziesz wszystkie ustawienia konfiguracji, które wpływają na konfigurację okna na poziomie aktywności w przypadku współczynnika proporcji.

Nazwa Lokalizacja Typ Domyślny
config_fixedOrientationLetterboxAspectRatio frameworks/base/core/res/res/values/config.xml Float 0.0
Opis
 Konfiguruje współczynnik proporcji letterboxingu dla stałej orientacji. Wartości mniejsze lub równe 1.0 są ignorowane.

Przypadek użycia lub kontekst
Konfiguruje domyślny współczynnik proporcji urządzenia, który działa w przypadku większości aplikacji z paskami u góry i u dołu. Zwykle bliżej kwadratowego formatu obrazu.
config_letterboxIsSplitScreenAspectRatioForUnresizableAppsEnabled frameworks/base/core/res/res/values/config.xml Bool false
Opis
Określa, czy format obrazu podzielonego ekranu ma być domyślnym formatem obrazu w przypadku aplikacji, których rozmiaru nie można zmieniać.

Przypadek użycia lub kontekst
Większość aplikacji, których rozmiaru nie można zmieniać, oczekuje układu telefonu w formie cukierka w orientacji pionowej.
config_letterboxIsDisplayAspectRatioForFixedOrientationLetterboxEnabled frameworks/base/core/res/res/values/config.xml Bool false
Opis
Określa, czy współczynnik proporcji wyświetlacza ma być używany jako domyślny współczynnik proporcji dla wszystkich aplikacji z paskami u góry i u dołu.

Przypadek użycia lub kontekst
Konfiguracja umożliwiająca programowe używanie współczynnika proporcji wyświetlacza zamiast konfigurowania wartości zmiennoprzecinkowej.

Aparat

W tej sekcji znajdziesz listę wszystkich ustawień konfiguracji, które wpływają na aplikacje po wywołaniu zwrotnym funkcji onCameraOpened. Te ustawienia mogą wpływać na wyświetlanie, aktywność i konfigurację kamery.

Nazwa Lokalizacja Typ Domyślny
config_isWindowManagerCameraCompatTreatmentEnabled frameworks/base/core/res/res/values/config.xml Bool false
Opis
Włącza obsługę zgodności aparatu w przypadku problemów spowodowanych przez niezgodność orientacji między buforami aparatu a oknem aplikacji.
Obejmuje to wymuszenie obracania aktywności o stałej orientacji połączonych z aparatem w trybie pełnoekranowym i wyświetlanie etykietki w trybie podzielonego ekranu.
Wymuszone obracanie można wyłączyć za pomocą zastąpienia dla poszczególnych aplikacji: OVERRIDE_CAMERA_COMPAT_DISABLE_FORCE_ROTATION.

Przypadek użycia lub kontekst
Naprawia obrócone podglądy z kamery przez wymuszone obracanie wyświetlacza w celu dopasowania go do orientacji żądanej przez aplikację.
config_isWindowManagerCameraCompatSplitScreenAspectRatioEnabled frameworks/base/core/res/res/values/config.xml Bool false
Opis
Określa, czy aktywność używa formatu ekranu dzielonego, gdy włączona jest obsługa zgodności z aparatem, a aktywność jest połączona z aparatem w trybie pełnoekranowym.

Przypadek użycia lub kontekst
Naprawia rozciągnięte podglądy z kamery, dodając do aktywności czarne pasy u góry i u dołu, aby uzyskać format podobny do batonika.
Zwykle używane razem z włączonym wymuszonym obracaniem (config_isWindowManagerCameraCompatTreatmentEnabledcamera.enable_landscape_to_portrait) na urządzeniach w trybie poziomym, aby rozwiązać problemy z rozciągniętą kamerą przez symulowanie proporcji ekranu w trybie pionowym.
camera.enable_landscape_to_portrait Właściwość systemu Bool false
Opis
Umożliwia włączenieOVERRIDE_CAMERA_LANDSCAPE_TO_PORTRAIT kampanii eksperymentalnej.
Wymusza przycięcie i obrócenie o 90 stopni obrazu z aparatu o naturalnej orientacji poziomej, aby symulować naturalną orientację pionową. W przypadku wszystkich kamer w orientacji poziomej na urządzeniu zgłaszana orientacja czujnika kamery to orientacja pionowa. Wiele aplikacji nie radzi sobie z taką sytuacją i wyświetla rozciągnięte obrazy.

Przypadek użycia lub kontekst
Umożliwia obracanie i przycinanie obrazu w warstwie HAL aparatu. Więcej informacji o tym działaniu znajdziesz w artykule Obracanie, przycinanie i skalowanie.
W czasie kompilacji dodaj do pliku mk ten kod: PRODUCT_PROPERTY_OVERRIDES += camera.enable_landscape_to_portrait=true
Ta funkcja wymaga, aby urządzenie obsługiwało SCALER_ROTATE_AND_CROP w HAL. Zobacz CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODES.
Wskazówki dotyczące implementacji interfejsu HAL dla SCALER_ROTATE_AND_CROP znajdziesz w artykule metadata_definitions.xml.
config_isCameraCompatSimulateRequestedOrientationTreatmentEnabled frameworks/base/core/res/res/values/config.xml Bool true
Opis
Wskazuje, czy włączone jest traktowanie zgodności z aparatem, które symuluje żądaną orientację aplikacji. Celem tego rozwiązania jest ograniczenie problemów spowodowanych niezgodnością orientacji między buforem kamery a oknem aplikacji. Obejmuje to wyświetlanie w formacie letterbox aktywności o stałej orientacji połączonych z aparatem, przycinanie bufora aparatu (obracanie i przycinanie) oraz izolowanie obrotu wyświetlacza, aby dopasować go do oczekiwanej orientacji aplikacji.

Przypadek użycia lub kontekst
Symulowanie żądanej orientacji w przypadku aktywności aparatu w:
  • Tryb okien o dowolnym rozmiarze
  • Żądanie stałej orientacji inne niż tryby locked lub nosensor

W Androidzie 17 i nowszych ta opcja wyłącza wymuszone obracanie z config_isWindowManagerCameraCompatTreatmentEnabled i ujednolica zasady dotyczące piaskownicy obracania wyświetlacza, letterboxingu oraz obracania i przycinania obrazu z kamery w przypadku aplikacji kamery o stałej orientacji.
config_isCameraCompatSimReqOrientationLandscapeTreatmentEnabled frameworks/base/core/res/res/values/config.xml Bool false
Opis
Określa, czy w przypadku aparatów w orientacji poziomej włączone jest traktowanie zgodności z aparatem, które symuluje żądaną orientację aplikacji. Celem tego rozwiązania jest ograniczenie problemów spowodowanych przez aplikacje, które na stałe kodują czujniki kamery portretowej. Obejmuje to dodanie czarnych pasków do aktywności o stałej orientacji związanych z aparatem, przycinanie bufora aparatu (obracanie i przycinanie), ustawianie czujnika w orientacji pionowej oraz ograniczenie obrotu wyświetlacza do orientacji oczekiwanej przez aplikację.

Przypadek użycia lub kontekst
W Androidzie 17 i nowszych ta metoda jest taka sama jak metoda symulowania żądanej orientacji w przypadku config_isCameraCompatSimulateRequestedOrientationTreatmentEnabled, ale w przypadku urządzeń z aparatami zorientowanymi poziomo.

Tło i interfejs

Ta sekcja zawiera wszystkie ustawienia konfiguracji zastosowane do powierzchni warstwy letterbox na potrzeby dostosowywania interfejsu lub na poziomie aktywności.

Nazwa Lokalizacja Typ Domyślny
config_letterboxActivityCornersRadius frameworks/base/core/res/res/values/config.xml Integer 0
Description
Konfiguruje promień zaokrąglenia rogu aktywności wyświetlanej w trybie letterbox. Wartości mniejsze niż 0 włączają zaokrąglone rogi o promieniu równym mniejszemu z promieni dolnych rogów urządzenia. Wartość domyślna 0 wyłącza logikę zaokrąglonych rogów w AppCompatLetterboxPolicy.

Przykład zastosowania lub kontekst
Zwykle skonfigurowane tak, aby pasowały do zaokrąglonych rogów urządzenia fizycznego.
config_letterboxIsEnabledForTranslucentActivities frameworks/base/core/res/res/values/config.xml Bool false
Opis
Określa, czy w przypadku półprzezroczystych aktywności ma być włączone wyświetlanie w formacie letterbox.

Przypadek użycia lub kontekst
Umożliwia wyświetlanie półprzezroczystych aktywności lub okien modalnych w formacie letterbox i ograniczenie ich do konfiguracji aktywności w tym formacie. Zasady obowiązują w TransparentPolicy.
config_isCompatFakeFocusEnabled frameworks/base/core/res/res/values/config.xml Bool false
Opis
Określa, czy w przypadku wznowionych aktywności w trybie podzielonego ekranu ma być włączone wysyłanie fałszywego sygnału ostrości w celu zapewnienia zgodności.
Jest to konieczne, ponieważ niektóre silniki gier czekają na uzyskanie fokusu, zanim narysują zawartość aplikacji, która nie jest domyślnie dostępna w trybach wielu okien.

Przypadek użycia lub kontekst
Starsza flaga do stosowania traktowania zgodności w przypadku silników gier Unity w aplikacjach, które po przejściu do trybu podzielonego ekranu stają się czarne i są rysowane dopiero po kliknięciu i skupieniu się na nich przez użytkownika.
config_letterboxBackgroundType frameworks/base/core/res/res/values/config.xml Integer 0
Opis
Konfiguruje wygląd narożników tła letterboxa:
  • 0 – jednolite tło w kolorze określonym w R.color.config_letterboxBackgroundColor.
  • 1 – kolor określony w R.attr.colorBackground dla aplikacji w formacie letterbox.
  • 2 – kolor określony w R.attr.colorBackgroundFloating dla aplikacji w formacie letterbox.
  • 3 – tapeta z przyciemnionym rozmyciem lub ciemną zasłoną. Co najmniej jeden z tych parametrów musi być większy niż 0: config_letterboxBackgroundWallpaperBlurRadius lub config_letterboxBackgroundWallpaperDarkScrimAlpha. Jeśli tak nie jest lub jeśli podano promień rozmycia, ale rozmycie nie jest obsługiwane przez urządzenie i wybrano tę opcję, implementacja domyślnie przyjmuje opcję 0. Jeśli podana wartość wykracza poza ten zakres, przyjmuje się opcję 0.


Przypadek użycia lub kontekst
Ta funkcja nie została wprowadzona ze względu na istniejące problemy z wydajnością. Producenci OEM mogą tworzyć własne implementacje tej funkcji, ale AOSP nie będzie obsługiwać żadnych błędów.
config_letterboxBackgroundColor frameworks/base/core/res/res/values/config.xml Color @color/system_neutral1_1000
Opis
Konfiguruje kolor tła w przypadku, gdy spełniony jest jeden z tych warunków:true
  • Wybrano opcję 0 dla R.integer.config_letterboxBackgroundType.
  • W przypadku R.integer.config_letterboxBackgroundType wybrano opcję 1, a w przypadku aplikacji nie określono R.attr.colorBackground.
  • W przypadku R.integer.config_letterboxBackgroundType wybrano opcję 2, a w przypadku aplikacji nie określono R.attr.colorBackgroundFloating.
  • Opcja 3 jest wybrana dla R.integer.config_letterboxBackgroundType i rozmycie jest wymagane, ale nie jest obsługiwane na urządzeniu, lub nie podano wartości alfa ciemnej zasłony ani promienia rozmycia.


Przypadek użycia lub kontekst
Ta funkcja nie została wprowadzona ze względu na istniejące problemy z wydajnością. Producenci OEM mogą tworzyć własne implementacje tej funkcji, ale AOSP nie będzie obsługiwać żadnych błędów.
config_letterboxBackgroundWallpaperBlurRadius frameworks/base/core/res/res/values/config.xml Dimen 38dp
Opis
Konfiguruje promień rozmycia dla opcji 3R.integer.config_letterboxBackgroundType. Wartości mniejsze niż 0 są ignorowane, a używana jest wartość 0.

Przypadek użycia lub kontekst
Ta funkcja nie została wprowadzona ze względu na istniejące problemy z wydajnością. Producenci OEM mogą tworzyć własne implementacje tej funkcji, ale AOSP nie będzie obsługiwać żadnych błędów.
config_letterboxBackgroundWallpaperDarkScrimAlpha frameworks/base/core/res/res/values/config.xml Float 0.54
Opis
 Konfiguruje przezroczystość czarnej, półprzezroczystej nakładki wyświetlanej na tle tapety w formacie letterbox, gdy w przypadku opcji R.integer.config_letterboxBackgroundType wybrano opcję 3. Wartości mniejsze niż 0 lub większe bądź równe 1 są ignorowane, a zamiast nich używana jest wartość 0.0 (przezroczysty).

Przypadek użycia lub kontekst
Ta funkcja nie została wprowadzona ze względu na istniejące problemy z wydajnością. Producenci OEM mogą tworzyć własne implementacje tej funkcji, ale AOSP nie będzie obsługiwać żadnych błędów.
config_enableSelfKillRecoveryBetweenInternalDisplays frameworks/base/core/res/res/values/config.xml Bool false
Opis
Gdy true, wyświetlacz przełącza się między wyświetlaczami wewnętrznymi, nie jest zwolniony z logiki przywracania po samoczynnym zamknięciu.

Przypadek użycia lub kontekst
Na Androidzie 17 i nowszym proces przywracania po samoczynnym zamknięciu jest włączony tylko w przypadku przełączania wyświetlacza na monitory zewnętrzne. Działa on jednak również na urządzeniach składanych o różnej gęstości pikseli na wyświetlaczach wewnętrznym i zewnętrznym. Ta konfiguracja umożliwia ten proces na tych urządzeniach.

Osiągalność i pozycjonowanie

W tej sekcji znajdziesz wszystkie ustawienia konfiguracji zastosowane do okna na poziomie aktywności w konfiguracji ułatwień dostępu.

Nazwa Lokalizacja Typ Domyślny
config_letterboxIsHorizontalReachabilityEnabled frameworks/base/core/res/res/values/config.xml Bool false
Opis
Określa, czy w przypadku aplikacji w formacie letterbox w trybie pełnoekranowym włączone jest poziome przenoszenie w zasięg.

Przypadek użycia lub kontekst
Przenosi aplikację w orientacji pionowej w lewo lub w prawo, aby ułatwić dostęp.
config_letterboxHorizontalPositionMultiplier frameworks/base/core/res/res/values/config.xml Float 0.5
Opis
Konfiguruje położenie poziome środka okna aplikacji w formacie letterbox.
0 odpowiada lewej stronie ekranu, a 1 – prawej.
Jeśli podana wartość jest mniejsza niż 0 lub większa niż 1, jest ignorowana. W przypadku pozycji innej niż książka używana jest pozycja środkowa (0.5). W przypadku pozycji książki używana jest pozycja po lewej stronie (0.0).

Przypadek użycia lub kontekst
W przypadku aplikacji w formacie letterbox w orientacji pionowej domyślnie ustawiona jest pozycja środkowa.
config_letterboxIsVerticalReachabilityEnabled frameworks/base/core/res/res/values/config.xml Bool false
Opis
Określa, czy w przypadku aplikacji w formacie letterbox w trybie pełnoekranowym włączone jest pionowe przenoszenie w zasięg.

Przypadek użycia lub kontekst
Przenosi aplikację w orientacji poziomej na górę lub dół ekranu, aby ułatwić dostęp.
config_letterboxVerticalPositionMultiplier frameworks/base/core/res/res/values/config.xml Float 0.0
Opis
Konfiguruje pozycję w pionie środka okna aplikacji w formacie letterbox.
Wartość 0 odpowiada górnej części ekranu, a 1 – dolnej.
Jeśli podana wartość jest mniejsza niż 0 lub większa niż 1, jest ignorowana. W przypadku trybu innego niż Na stole używana jest pozycja środkowa (0.5). W przypadku pozycji na stole używana jest pozycja górna (0.0).

Przypadek użycia lub kontekst
Skonfigurowano na środku na urządzeniach z dużym ekranem w przypadku aplikacji w formacie poziomym z paskami u góry i u dołu.
config_letterboxIsAutomaticReachabilityInBookModeEnabled frameworks/base/core/res/res/values/config.xml Bool false
Opis
Konfiguruje, czy automatyczne pozycjonowanie w trybie poziomym w przypadku aplikacji w formacie letterbox w trybie pełnoekranowym jest włączone.

Przypadek użycia lub kontekst
Umożliwia przenoszenie aplikacji w formacie letterbox w trybie pionowym między lewą a prawą stroną, gdy urządzenie składane jest w trybie książki.
config_letterboxBookModePositionMultiplier frameworks/base/core/res/res/values/config.xml Float 0.0
Opis
Konfiguruje położenie poziome środka okna aplikacji w formacie letterbox w trybie książkowym.
0 odpowiada lewej stronie ekranu, a 1 – prawej. Jeśli podana wartość jest mniejsza niż 0 lub większa niż 1, jest ignorowana i używana jest pozycja po lewej stronie (0.0).

Przypadek użycia lub kontekst
Mnożnik określający, o ile zmienia się pozycja aplikacji po zmianie położenia urządzenia na tryb książki.
config_letterboxDefaultPositionForBookModeReachability frameworks/base/core/res/res/values/config.xml Integer 0
Opis
Konfiguruje domyślne położenie poziome okna aplikacji z paskami po bokach, gdy włączona jest funkcja ułatwień dostępu, a aplikacja jest wyświetlana na pełnym ekranie w trybie poziomym i w trybie książki. Gdy funkcja dostępności jest włączona, pozycja może się zmieniać między lewą, środkową i prawą:
  • Opcja 0 – lewa
  • Opcja 1 – wyśrodkowanie
  • Opcja 2 – prawa
Jeśli podana wartość wykracza poza ten zakres, zakłada się, że wybrana jest opcja 0 (po lewej).

Przypadek użycia lub kontekst
Domyślne położenie aplikacji w trybie książki.
config_letterboxTabletopModePositionMultiplier frameworks/base/core/res/res/values/config.xml Float 0.0
Opis
Konfiguruje pionowe położenie środka okna aplikacji z czarnymi paskami w trybie stołowym.
Wartość 0 odpowiada górnej części ekranu, a 1 – dolnej. Jeśli podana wartość jest mniejsza niż 0 lub większa niż 1, jest ignorowana i używana jest najwyższa pozycja0.0.

Przypadek użycia lub kontekst
Mnożnik określający, o ile zmienia się pozycja aplikacji na urządzeniu składanym w trybie stołowym.
config_letterboxDefaultPositionForTabletopModeReachability frameworks/base/core/res/res/values/config.xml Integer 0
Opis
Konfiguruje domyślne położenie pionowe okna aplikacji z paskami po bokach, gdy włączona jest funkcja ułatwień dostępu, a aplikacja jest wyświetlana na pełnym ekranie urządzenia w orientacji pionowej i w trybie stołowym. Gdy funkcja ułatwień dostępu jest włączona, pozycja może się zmieniać między górną, środkową i dolną. Ta konfiguracja określa domyślną:
  • Opcja 0 – góra
  • Opcja 1 – wyśrodkowanie
  • Opcja 2 – dół
Jeśli podana wartość wykracza poza ten zakres, zakłada się, że jest to opcja 0 (górna).

Przypadek użycia lub kontekst
Domyślna pozycja, w której aplikacja jest umieszczana w trybie tabletu.

Ustawienia

W tej sekcji znajdziesz wszystkie ustawienia konfiguracyjne, które umożliwiają dostosowywanie i włączanie ustawień formatu obrazu użytkownika w Ustawieniach > Aplikacje > Format obrazu.

Nazwa Lokalizacja Typ Domyślny
config_appCompatUserAppAspectRatioSettingsIsEnabled frameworks/base/core/res/res/values/config.xml Bool false
Opis
Określa, czy włączone są ustawienia zastępowania współczynnika proporcji ekranu dla poszczególnych aplikacji.

Przypadek użycia lub kontekst
Włącza funkcję ustawień współczynnika proporcji w sekcji Ustawienia > Aplikacje > Współczynnik proporcji.
config_appCompatUserAppAspectRatioFullscreenIsEnabled frameworks/base/core/res/res/values/config.xml Bool false
Opis
Konfiguruje, czy opcja zastępowania pełnego ekranu w przypadku poszczególnych aplikacji jest włączona w ustawieniach proporcji obrazu użytkownika.

Przypadek użycia lub kontekst
Włącza opcję Pełny ekran w funkcji ustawień proporcji obrazu użytkownika.
To ustawienie ignoruje ograniczenia dotyczące możliwości zmiany rozmiaru, formatu obrazu i orientacji aplikacji.
config_userAspectRatioOverrideEntries packages/apps/Settings/res/values/config.xml string-array Domyślnie wszystkie opcje są włączone.
Opis
 Konfiguruje ekran ustawień proporcji aplikacji i opcje zastępowania proporcji przez użytkownika. Musi mieć taką samą długość i kolejność jak config_userAspectRatioOverrideValues.
Jeśli zmienisz tę wartość, zaktualizuj też logikę tworzenia i przywracania kopii zapasowych, aby wybierać najbliższą wartość w UserAspectRatioBackupManager.java.

Przypadek użycia lub kontekst
Mapowania ciągów znaków wyświetlanych w Ustawieniach.
config_userAspectRatioOverrideValues packages/apps/Settings/res/values/config.xml integer-array Domyślnie używane są wszystkie ciągi tekstowe AOSP.
Opis
 Konfiguruje ekran ustawień proporcji aplikacji i opcje zastępowania proporcji przez użytkownika. Musi mieć taką samą długość i kolejność jak config_userAspectRatioOverrideEntries. Wartości muszą być zgodne z elementem PackageManager.UserMinAspectRatio.
Jeśli zmienisz tę wartość, zaktualizuj też logikę tworzenia kopii zapasowej i przywracania, aby wybierać najbliższą wartość w UserAspectRatioBackupManager.java.

Przypadek użycia lub kontekst
Mapowania opcji na backend PackageManager.UserMinAspectRatio:
  • Domyślne ustawienie aplikacji – 0
  • Podzielony ekran – 1
  • Format obrazu wyświetlacza – 2
  • 4:3 - 3
  • 16:9 – 4
  • 3:2 - 5
  • Pełny ekran – 6
Statyczne elementy rysowane w jasnym motywie packages/apps/Settings/res/drawable/ic_app_aspect_ratio_<option>.xml vector Zasoby w formacie poziomym na urządzenia składane
Opis
Konfiguruje dostępne elementy rysowalne:


Przypadek użycia lub kontekst
Statyczne obrazy w jasnym motywie pod każdą opcją w sekcji Ustawienia > Informacje o aplikacji > Format obrazu.
Statyczne elementy rysowalne w ciemnym motywie packages/apps/Settings/res/drawable-night/ic_app_aspect_ratio_<option>.xml vector Zasoby w formacie poziomym na urządzenia składane
Opis
Konfiguruje dostępne elementy rysowalne:


Przypadek użycia lub kontekst
Statyczne obrazy w ciemnym motywie pod każdą opcją w sekcji Ustawienia > Informacje o aplikacji > Format obrazu.
Dynamiczny obiekt rysowalny
user_aspect_ratio_education.json
packages/apps/Settings/res/raw/user_aspect_ratio_education.json JSON Dynamiczny komponent w orientacji poziomej na urządzenia składane
Opis
Konfiguruje ilustrację Lottie w UserAspectRatioAppsPageProvider.

Przypadek użycia lub kontekst
Animacja pod listą aplikacji: Ustawienia > Aplikacje > Współczynnik proporcji.

Edukacja

W tej sekcji znajdziesz wszystkie ustawienia konfiguracji dotyczące informowania użytkowników o funkcjach zgodności aplikacji.

Nazwa Lokalizacja Typ Domyślny
config_letterboxIsEducationEnabled frameworks/base/core/res/res/values/config.xml Bool false
Opis
Określa, czy w przypadku aplikacji pełnoekranowych z efektem letterbox ma być włączone wyświetlanie informacji o tym efekcie.

Przypadek użycia lub kontekst
Przypadek użycia wyświetlania informacji o efekcie letterbox w przypadku aplikacji pełnoekranowych znajdziesz na rysunku 1.
config_letterboxIsRestartDialogEnabled frameworks/base/libs/WindowManager/Shell/res/values/config.xml Bool false
Opis
Określa, czy rozszerzone okno ponownego uruchomienia jest włączone.

Przypadek użycia lub kontekst
Przypadek użycia rozszerzonego okna ponownego uruchomienia znajdziesz na rysunku 2.
config_letterboxIsReachabilityEducationEnabled frameworks/base/libs/WindowManager/Shell/res/values/config.xml Bool false
Opis
Określa, czy włączone są dodatkowe informacje o dostępności.

Przypadek użycia lub kontekst
Przypadek użycia informacji o dostępności znajdziesz na rysunku 3.
config_isSizeCompatRestartButtonEnabled frameworks/base/libs/WindowManager/Shell/res/values/config.xml Bool true
Opis
Określa, czy przycisk ponownego uruchomienia zgodności rozmiaru jest włączony.

Przypadek użycia lub kontekst
Przycisk ponownego uruchomienia, który umożliwia ponowne uruchomienie konfiguracji aplikacji o zmienianym rozmiarze po zmianie rozmiaru okna, np. po przejściu do trybu podzielonego ekranu lub obróceniu wyświetlacza.
Przykład użycia przycisku ponownego uruchamiania w przypadku zgodności rozmiarów znajdziesz na rysunku 4.
config_letterboxRestartButtonHideTolerance frameworks/base/libs/WindowManager/Shell/res/values/config.xml Integer 100
Opis
Konfiguruje minimalną tolerancję procentową granic aktywności w ramach zadania, aby ukryć przycisk ponownego uruchomienia zgodności rozmiaru. Wartości mniejsze niż 0 lub większe niż 100 są ignorowane.
100 to wartość domyślna, w przypadku której aktywność musi dokładnie mieścić się w zadaniu, aby można było ukryć przycisk ponownego uruchomienia zgodności rozmiaru. Wartość 0 oznacza, że przycisk ponownego uruchomienia ze względu na zgodność rozmiaru jest zawsze ukryty.

Przypadek użycia lub kontekst
Używane na urządzeniach o proporcjach zbliżonych do kwadratu, aby ukryć przycisk ponownego uruchomienia, gdy użytkownik obróci aplikacje o zmiennej wielkości, ale ponowne uruchomienie aplikacji nie spowoduje znacznej poprawy interfejsu.

Na ilustracjach poniżej przedstawiono przykłady zastosowania nakładki edukacyjnej:

Letterboxing w przypadku aplikacji pełnoekranowych

Rysunek 1. Letterboxing w przypadku aplikacji pełnoekranowych

Przykład rozszerzonego okna ponownego uruchomienia.

Rysunek 2. Rozszerzone okno ponownego uruchamiania

Przykład informacji o dostępności.

Rysunek 3. Edukacja w zakresie dostępności.

Przykładowy przycisk ponownego uruchomienia w celu zapewnienia zgodności rozmiaru.

Rysunek 4. Przycisk ponownego uruchomienia zgodności rozmiaru.