- składnia:
-
<supports-screens android:resizeable=["true"| "false"] android:smallScreens=["true" | "false"] android:normalScreens=["true" | "false"] android:largeScreens=["true" | "false"] android:xlargeScreens=["true" | "false"] android:anyDensity=["true" | "false"] android:requiresSmallestWidthDp="integer" android:compatibleWidthLimitDp="integer" android:largestWidthLimitDp="integer"/>
- zawarte w:
<manifest>
- description:
Umożliwia określenie rozmiarów ekranów obsługiwanych przez aplikację i włączenie trybu zgodności z ekranami. jest większy niż ta, którą obsługuje Twoja aplikacja. Ważne jest, aby zawsze używać tego elementu w w celu określenia rozmiarów ekranów, które obsługuje Twoja aplikacja.
Uwaga: tryb zgodności ekranu nie jest trybem w których ma działać Twoja aplikacja. Powoduje to pikselizację i rozmycie interfejsu ze względu na powiększenie. Aby aplikacja dobrze działała na dużych ekranach, postępuj zgodnie z Omówienie zgodności ekranu oraz udostępnić alternatywne układy dla różnych rozmiarów ekranu.
Aplikacja „obsługuje” danego rozmiaru ekranu, jeśli zostanie prawidłowo przeskalowany tak, aby wypełnił cały ekran. Normalne zmiany rozmiaru stosowane przez system sprawdzają się w większości aplikacji i nie trzeba niczego robić aby aplikacja działała na ekranach większych niż w telefonie.
Jest to jednak często ważne jest, aby zoptymalizować UI aplikacji pod kątem różnych rozmiarów ekranów, udostępniając alternatywy zasobów układu. Możesz na przykład zmienić układ aktywności na tablecie niż na tablecie.
Jeśli jednak aplikacja nie działa dobrze po dostosowaniu rozmiaru do różnych rozmiarów ekranu, może używać atrybutów elementu
<supports-screens>
, aby kontrolować, czy jest rozpowszechniana tylko na mniejszych ekranach, jej interfejs jest przeskalowany w górę. dopasować na większych ekranach, korzystając z trybu zgodności ekranu systemu.Jeśli nie dostosowane do większych ekranów, a normalna zmiana rozmiaru nie zapewnia tryb zgodności z ekranem skaluje interfejs, emulując normalny rozmiar. ekranu i średniej gęstości. Następnie obraz jest powiększony tak, aby wypełniał cały ekran. Pamiętaj, że powodują pikselizację i rozmycie interfejsu, dlatego lepiej jest zoptymalizować go pod kątem dużych ekrany.
Uwaga: w Androidzie 3.2 wprowadzono nowe atrybuty:
android:requiresSmallestWidthDp
,android:compatibleWidthLimitDp
iandroid:largestWidthLimitDp
. Jeśli opracowujesz aplikację na Androida 3.2 lub nowszego, użyj tych atrybutów do zadeklarowania obsługi rozmiaru ekranu zamiast atrybutów na podstawie uogólnionych rozmiarów ekranu.Informacje o trybie zgodności ekranu
Tryb zgodności ekranu jest zalecanym rozwiązaniem w przypadku aplikacji, które nie są poprawnie w połączeniu z większymi ekranami. Nie jest to tryb, w którym aplikacja ma działać, ponieważ może zaoferować złe wrażenia użytkowników. Istnieją 2 wersje trybu zgodności ekranu oparte na na wersji urządzenia, na której działa aplikacja.
Na urządzeniach z Androidem w wersjach od 1.6 do 3.1 system uruchamia aplikację jako „znaczek pocztowy”. okno. it emuluje ekran o rozdzielczości 320 dp x 480 dp z czarną ramką, która wypełnia pozostały obszar ekranu.
W Androidzie 3.2 i nowszych system rysuje układ tak samo jak na ekranie o rozdzielczości 320 dp x 480 dp, a następnie skaluje go w górę, by wypełnił ekran. Często powoduje to zakłócenia w interfejsie, np. rozmycie lub pikselizację.
Więcej informacji na temat prawidłowej obsługi różnych rozmiarów ekranu i uniknięcia używając trybu zgodności z ekranem, przeczytaj artykuł Omówienie zgodności ekranu.
- atrybuty:
-
android:resizeable
- Wskazuje, czy można zmienić rozmiar aplikacji w przypadku różnych rozmiarów ekranu. Ten atrybut jest
"true"
. Jeśli zasada ma wartość"false"
, system uruchamia aplikację w trybie zgodności z ekranem na dużych ekrany.Ten atrybut został wycofany. Został on wprowadzony, aby pomóc aplikacjom przejście z Androida 1.5 na 1.6, kiedy pojawiła się obsługa wielu ekranów. Nie używaj.
android:smallScreens
- Wskazuje, czy aplikacja obsługuje format „small” z różnych formatów ekranów.
Mały ekran to taki o mniejszym współczynniku proporcji niż
„normalny” lub tradycyjnego ekranu HVGA. Aplikacja, która nie
obsługa małych ekranów nie jest dostępna w przypadku
urządzeń z małymi ekranami i usług zewnętrznych, takich jak Google Play, ponieważ
dzięki której platforma może działać na mniejszym ekranie. To jest
"true"
, autor: wartość domyślną. android:normalScreens
- Wskazuje, czy aplikacja obsługuje „normalny” Ekran
i formatów. Tradycyjnie jest to średnia gęstość HVGA
ekranu. WQVGA o małej gęstości i wysokiej gęstości
uznawane za normalne. Domyślnie ten atrybut ma wartość
"true"
. android:largeScreens
- Wskazuje, czy aplikacja obsługuje rozmiar „duży” z różnych formatów ekranów.
Duży ekran to ekran, który jest znacznie większy.
niż „normalny” ekranu telefonu. Dlatego może wymagać szczególnej ostrożności,
ale może też wymagać zmiany rozmiaru interfejsu
system, by wypełnić ekran.
Wartość domyślna różni się w niektórych wersjach, dlatego lepiej jest, jeśli jednoznacznie zadeklarować ten atrybut. Pamiętaj, że ustawienie to
"false"
zwykle włącza ekran trybu zgodności. android:xlargeScreens
- Wskazuje, czy aplikacja obsługuje „bardzo duże” z różnych formatów ekranów.
Bardzo duży ekran to ekran, który jest znacznie większy.
niż „duży”, np. tabletu lub innego urządzenia. Może wymagać szczególnej ostrożności
ale może też wymagać zmiany rozmiaru interfejsu
system, by wypełnić ekran.
Wartość domyślna różni się w niektórych wersjach, dlatego lepiej jest, jeśli jednoznacznie zadeklarować ten atrybut. Pamiętaj, że ustawienie to
"false"
zwykle włącza ekran trybu zgodności.Ten atrybut został wprowadzony w interfejsie API na poziomie 9.
android:anyDensity
- Wskazuje, czy aplikacja zawiera zasoby do umieszczenia na dowolnym ekranie
gęstość danych.
W przypadku aplikacji obsługujących Androida 1.6 (poziom interfejsu API 4) lub nowszego jest to
"true"
domyślnie. Nie ustawiaj wartości"false"
, chyba że masz absolutną pewność, jest niezbędna do działania aplikacji. Wyłączenie tej funkcji może być konieczne tylko wtedy, jest to, że aplikacja bezpośrednio modyfikuje mapy bitowe. Więcej informacji znajdziesz w artykule Omówienie zgodności ekranu. android:requiresSmallestWidthDp
- Określa minimalną wartość
smallestWidth
wymaganą przez aplikację.smallestWidth
to najkrótszy wymiar miejsca na ekranie (w jednostkach:dp
), które musi być dostępne dla interfejsu użytkownika aplikacji. To znaczy, jest to najkrótszy z 2 wymiarów dostępnego ekranu.Urządzenie jest uznawane za urządzenie zgodne z Twoją aplikacją, wartość
smallestWidth
urządzenia musi być równa lub większa . Zazwyczaj wartością tej opcji jest „najmniejsza szerokość”. który jest obsługiwany przez Twój układ, niezależnie od bieżącej orientacji ekranu.Na przykład typowy ekran telefonu ma rozdzielczość
smallestWidth
320 dp, a 7-calowy tablet masmallestWidth
o rozdzielczości 600 dp, a w przypadku tabletu 10-calowego jego wartość tosmallestWidth
, czyli 720 dp. Wartości te są zwyklesmallestWidth
, ponieważ są one najkrótszym wymiarem dostępnego miejsca na ekranie.Rozmiar, z jakim porównywana jest Twoja wartość, uwzględnia dekoracje ekranu i system Interfejs. Jeśli na przykład urządzenie ma na wyświetlaczu stałe elementy UI, system deklaruje urządzenia
smallestWidth
o rozmiarze mniejszym niż rzeczywisty rozmiar ekranu, ponieważ to pikseli ekranu, które są niedostępne dla Twojego interfejsu.Jeśli aplikacja prawidłowo dopasowuje rozmiar do mniejszych ekranów, „mały” rozmiar lub minimalna szerokość 320 dp, nie trzeba używać tego atrybutu. W przeciwnym razie użyj wartości tego atrybutu, która pasuje do najmniejszej wartości używanej przez aplikację dla argumentu kwalifikator najmniejszej szerokości ekranu (
sw<N>dp
).Uwaga: system Android nie zwraca na to uwagi. przez co nie ma on wpływu na działanie aplikacji w czasie działania. Zamiast tego używany jest aby włączyć filtrowanie aplikacji w usługach takich jak Google Play. Pamiętaj jednak: Google Play obecnie nie obsługuje tego atrybutu w odniesieniu do filtrowania na urządzeniach z Androidem 3.2. Jeśli aplikacja nie obsługuje innych atrybutów rozmiaru, na małych ekranach.
Ten atrybut został wprowadzony na poziomie interfejsu API 13.
android:compatibleWidthLimitDp
- Ten atrybut umożliwia włączenie trybu zgodności ekranu jako
opcjonalna funkcja przez określenie maksymalnej „najmniejszej szerokości ekranu” w przypadku których aplikacja
projektu Google. Jeśli najmniejsza część dostępnego ekranu urządzenia jest większa niż wartość podana tutaj,
użytkownicy nadal będą mogli zainstalować Twoją aplikację, ale będą wyświetlane w trybie zgodności z ekranem.
Według domyślnie, tryb zgodności z ekranem jest wyłączony, a układ zmienia rozmiar, by dopasować jak zwykle. Na pasku systemu dostępny jest przycisk, który umożliwia użytkownikowi przełączanie ekranu trybu zgodności.
Jeśli aplikacja jest zgodna ze wszystkimi rozmiarami ekranów, a jej układ zmienia rozmiar, nie będzie można muszą używać tego atrybutu.
Uwaga: obecnie tryb zgodności ekranu emuluje tylko telefon. o szerokości 320 dp, więc tryb zgodności z ekranem nie jest stosowany, jeśli wartość atrybutu Wartość
android:compatibleWidthLimitDp
jest większa niż320
.Ten atrybut został wprowadzony na poziomie interfejsu API 13.
android:largestWidthLimitDp
- Ten atrybut umożliwia wymuszanie włączenia trybu zgodności ekranu przez określenie
maksymalną „najmniejszą szerokość ekranu” dla których przeznaczona jest Twoja aplikacja. Jeśli najmniejsza strona argumentu
dostępny ekran urządzenia jest większy niż wskazana tutaj wartość, aplikacja działa na ekranie
trybu zgodności, a użytkownik nie może go wyłączyć.
Jeśli aplikacja jest zgodna ze wszystkimi rozmiarami ekranów, a jej układ zmienia rozmiar, nie będzie można muszą używać tego atrybutu. Jeśli nie, najpierw użyj atrybutu
android:compatibleWidthLimitDp
. Użyjandroid:largestWidthLimitDp
tylko wtedy, gdy aplikacja nie działa prawidłowo, gdy dostosowane do większych ekranów. Tryb zgodności z ekranem to jedyny sposób korzystania z aplikacji.Uwaga: obecnie tryb zgodności ekranu emuluje tylko telefon. o szerokości 320 dp, więc tryb zgodności z ekranem nie jest stosowany, jeśli wartość atrybutu Wartość
android:largestWidthLimitDp
jest większa niż320
.Ten atrybut został wprowadzony na poziomie interfejsu API 13.
- wprowadzone w:
- Poziom API 4
- zobacz też:
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2024-08-22 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2024-08-22 UTC."],[],[]]