Praca z rozmiarami ekranu systemu watchOS na platformie Xamarin
Zegarek Apple Watch jest dostępny w dwóch rozmiarach ekranu:
38mm
- 136 x 170 pikseli logicznych (272 x 340 pikseli fizycznych)
42mm
- 156 x 195 pikseli logicznych (312 x 390 pikseli fizycznych).
Podczas projektowania i testowania aplikacji należy wziąć pod uwagę rozmiar ekranu.
Projektant interfejsu systemu watchOS
Domyślnie Visual Studio dla komputerów Mac Projektant będzie wyświetlać kontrolery interfejsu w dowolnym zegarku Apple Watch.
Użyj menu rozmiaru, aby edytować i wyświetlać podgląd scenorysu w jednym z dostępnych rozmiarów ekranu: 38mm lub 42mm:
Większy rozmiar ekranu czasami renderuje zawartość, która zostanie obcięta/ukryta na mniejszym ekranie. Pamiętaj, aby przetestować oba rozmiary.
Projekt interfejsu
Aplikacja powinna wyświetlać tę samą zawartość na ekranie, niezależnie od rozmiaru i powinna rozszerzać elementy lub kontrakt zgodnie z potrzebami. W Visual Studio dla komputerów Mac Projektant w Inspektorze atrybutów należy użyć opcji Względne do kontenera lub rozmiaru, aby dopasować zawartość w preferencji do stałych rozmiarów.
Ponieważ ekran zegarka jest otoczony czarnym bezelem, zapewnienie wypełnienia wokół interfejsu nie jest zalecane. Niech elementy spoczywają na krawędzi ekranu i pozwól, aby ramka stanowiła naturalne obramowanie wokół aplikacji.
symulator systemu watchOS
Podczas testowania w symulatorze można łatwo przełączać się między dwoma rozmiarami ekranu przy użyciu menu Urządzenie sprzętowe>.
Zasoby obrazów
Należy użyć wielu zasobów obrazów, jeśli pojedynczy zasób nie wygląda dobrze w różnych rozmiarach. Wykazy zasobów obrazów umożliwiają określenie oddzielnych map bitowych dla każdego rozmiaru:
// specify the asset name, the correct size will automatically be loaded
staticImage.SetImage(UIImage.FromBundle("Walkway"));
Możesz też użyć kodu, aby określić rozmiar ekranu i załadować różne obrazy w całości:
bool large = WKInterfaceDevice.CurrentDevice.ScreenBounds.Size.Width > 136.0;
// Load image depending on screen size
using (var image = UIImage.FromBundle (large ? "42mm-Walkway" : "38mm-Walkway"))
{
myImage.SetImage (image);
}
Przeczytaj więcej na temat korzystania z kontrolki obrazu.