2013-02-14 15 views

Odpowiedz

113

Ekrany urządzeń z systemem Android to prostokąty. Prostokąty mają dwie strony, jedną krótszą od drugiej. Nazwijmy ten krótki A i długiej jedną B.

-swNNNdp wskazuje „korzystać z tych zasobów, jeśli A jest większa lub równa NNN dp długości”

-wNNNdp oznacza „jeśli szerokość korzystać z tych zasobów urządzenie, zgodnie z obecnym stanem, jest większe lub równe NNN dp "

Gdy użytkownik obróci urządzenie między portretem a krajobrazem, szerokość zmieni się (na A lub B), ale A (najkrótsza szerokość) to zawsze to samo.

+1

na przykład urządzenie, które ma najmniejszą szerokość 600dp i użyć urządzenia obracającego, aby portret nadal wykorzystywał zasoby sw600dp? –

+0

@MudassarShaheen: Dokładnie. – CommonsWare

+0

uprzejmie powiedz mi coś jeszcze. czy urządzenie ma gęstość 320 x 480 mdpi oznacza, że ​​będzie używać zasobów z w320dp am i tak? a jeśli użytkownik zmieni orientację na poziomą, to musi wybrać zasób z w480 dp? –

13

Proszę spojrzeć na Screen Support

Według dokumentacji:

SW: Podstawowym rozmiaru ekranu, jak wskazano najkrótszego wymiaru dostępnego obszaru ekranu. W szczególności najmniejsza szerokość ekranu urządzenia to najkrótsza z dostępnych wysokości i szerokości ekranu (możesz również myśleć o niej jako o "najmniejszej możliwej szerokości" dla ekranu). Możesz użyć tego kwalifikatora, aby zapewnić, że niezależnie od aktualnej orientacji ekranu, aplikacja ma co najmniej dps szerokości dostępnej dla niego.

podczas gdy W: Określa minimalną dostępną szerokość w dp jednostek, w których zasoby powinny być używane - określone przez wartość. Wartość odpowiadająca szerokości systemu zmienia się, gdy orientacja ekranu przełącza się między krajobrazem a portretem, aby odzwierciedlić aktualną rzeczywistą szerokość dostępną dla interfejsu użytkownika.

W moich słowach:

SW: Minimalna odległość pomiędzy krawędziami ekranu w dps Twój układ będzie działał na, więc jeśli używasz layoutu sw600dp/folderu, następnie wszystkie układy wewnątrz niej działa tylko na urządzeniach, które ma przynajmniej 600dp (szerokość lub wysokość)

w: oznacza, że ​​układ będzie działać na dowolnym urządzeniu z szerokością n dp niezależnie od wysokości czy może urządzenie aktualnie w trybie poziomym (w tym przypadku w odsyła do wysokości .. ponieważ orientacja różni się między krajobrazem a portretem)

+1

Przeczytałem już to –

+0

, czy urządzenie ma rozdzielczość 320x480 megapi, co oznacza, że ​​będzie używać zasobów z w320dp am i tak? a jeśli użytkownik zmieni orientację na poziomą, teraz szerokość ekranu wynosi 480dp, to musi wybrać zasób z w480 dp? –

+1

dokładnie .. btw dokumentacji omawiajĘ ... wiele przykładów, aby te wartoś ci bardziej jasne –