Pytanie Kwalifikatory zasobów Androida -sw # dp vs -w # dp


Załóżmy, że opracowuję inny układ dla urządzeń o rozmiarze ekranu równym lub większym niż 600dp. Chcę używać kwalifikatorów zasobów z post Android 3.2. Stworzyłem folder o nazwie layout-sw600dp i umieściłem tam mój układ, ale w tym samym czasie mogłem utworzyć folder o nazwie layout-w600dp i umieść tam plik xml układu. Próbuję ustalić, jaka jest różnica między -sw600dp i -w600dp? W końcu obie mają używać układu dla urządzenia o szerokości> = 600dp.


19
2017-07-04 18:53


pochodzenie




Odpowiedzi:


sw jest "najmniejszy szerokość. "Nie zmienia się, jeśli urządzenie jest obrócone.

w, z drugiej strony, jest dostępny (tj. obecny) szerokość.

Widzieć Zapewnienie alternatywnych zasobów:

smallestWidth - sw<N>dp - Najmniejsza szerokość jest stałą wielkością ekranu urządzenia;   najmniejsza szerokość urządzenia nie zmienia się, gdy na ekranie   zmiany orientacji.

Dostępna szerokość - w<N>dp - Ta wartość konfiguracji zmieni się, gdy orientacja zmieni się między krajobrazem a portretem   aktualna faktyczna szerokość.

Przykład. Załóżmy, że masz urządzenie o 600dp x 400p.

  • Jeśli masz zasób w600dp, będzie on używany w układzie poziomym, ale nie w pionie.
  • Jeśli masz zasób sw600dp, nie będzie on używany dla żadnej orientacji (najmniejsza to 400).

58
2017-07-04 18:54



Dziękuję za odpowiedź. Ale nadal go nie rozumiem. to, co masz na myśli przez szerokość, nie zostanie zmienione, jeśli devoted zostanie obrócone. szerokość zostanie zmieniona - user1409534
@ user1409534 Tak, ale nie najmniejszy szerokość. Edytowano odpowiedź na przykład, mam nadzieję, że jest pomocna. - matiash