Dodawanie ekranu powitalnego do projektu aplikacji .NET MAUI
W systemach Android i iOS aplikacje wieloplatformowego interfejsu użytkownika aplikacji platformy .NET (.NET MAUI) mogą wyświetlać ekran powitalny, gdy proces inicjowania zakończy się. Ekran powitalny jest wyświetlany natychmiast po uruchomieniu aplikacji, zapewniając natychmiastowe opinie użytkownikom podczas inicjowania zasobów aplikacji:
Gdy aplikacja będzie gotowa do interakcji, jego ekran powitalny zostanie odrzucony.
Ważne
W systemie iOS 16.4 lub nowszym symulatory nie będą ładować ekranu powitalnego, chyba że aplikacja jest podpisana. Aby uzyskać więcej informacji, w tym obejście, zobacz Problem z usługą GitHub 18479.
W systemie Android 12+ (INTERFEJS API 31+) na ekranie powitalnym jest wyświetlana ikona wyśrodkowana na ekranie. Aby uzyskać więcej informacji na temat ekranów powitalnych w systemie Android 12+, zobacz Ekrany powitalne na developer.android.com.
W projekcie aplikacji .NET MAUI ekran powitalny można określić w jednej lokalizacji w projekcie aplikacji, a w czasie kompilacji można zmienić jej rozmiar na prawidłową rozdzielczość platformy docelowej i dodać do pakietu aplikacji. Pozwala to uniknąć konieczności ręcznego duplikowania i nazywania ekranu powitalnego dla poszczególnych platform. Domyślnie formaty obrazów map bitowych (niewektorowych) nie są automatycznie zmieniane przez program .NET MAUI.
Ekran powitalny programu .NET MAUI może używać dowolnych standardowych formatów obrazów platformy, w tym plików skalowalnej grafiki wektorowej (SVG).
Ważne
Program .NET MAUI konwertuje pliki SVG na pliki PNG. W związku z tym podczas dodawania pliku SVG do projektu aplikacji .NET MAUI należy odwoływać się z pliku XAML lub C# z rozszerzeniem .png. Jedynym odwołaniem do pliku SVG powinien być plik projektu.
Ekran powitalny można dodać do projektu aplikacji, przeciągając obraz do folderu Resources\Splash projektu, gdzie jego akcja kompilacji zostanie automatycznie ustawiona na ekran MauiSplashScreen. Spowoduje to utworzenie odpowiedniego wpisu w pliku projektu:
<ItemGroup>
<MauiSplashScreen Include="Resources\Splash\splashscreen.svg" />
</ItemGroup>
Uwaga
Ekran powitalny można również dodać do innych folderów projektu aplikacji. Jednak w tym scenariuszu akcja kompilacji musi być ręcznie ustawiona na MauiSplashScreen w oknie Właściwości .
Aby zapewnić zgodność z regułami nazewnictwa zasobów systemu Android, nazwy plików ekranu powitalnego muszą być małymi literami, uruchomić i kończyć się znakiem litery i zawierać tylko znaki alfanumeryczne lub podkreślenia. Aby uzyskać więcej informacji, zobacz Omówienie zasobów aplikacji w developer.android.com.
W czasie kompilacji rozmiar obrazu ekranu powitalnego jest zmieniany na prawidłowy rozmiar platformy docelowej i urządzenia. Ekran powitalny o zmienionym rozmiarze zostanie dodany do pakietu aplikacji. Aby uzyskać informacje na temat wyłączania pakowania ekranu powitalnego, zobacz Wyłączanie pakowania ekranu powitalnego. Aby uzyskać informacje na temat generowania pustego ekranu powitalnego, zobacz Generowanie pustego ekranu powitalnego.
Ustawianie rozmiaru podstawowego
Program .NET MAUI używa ekranu powitalnego na wielu platformach i może zmienić jego rozmiar dla każdej platformy.
Rozmiar podstawowy obrazu ekranu powitalnego reprezentuje gęstość punktu odniesienia obrazu i jest w rzeczywistości współczynnikiem skalowania 1,0 dla obrazu (rozmiar, którego zwykle używa się w kodzie, aby określić rozmiar ekranu powitalnego), z którego pochodzą wszystkie inne rozmiary. Jeśli nie określisz rozmiaru podstawowego obrazu mapy bitowej, rozmiar obrazu nie zostanie zmieniony. Jeśli nie określisz rozmiaru podstawowego obrazu wektorowego, takiego jak plik SVG, wymiary określone na obrazie będą używane jako rozmiar podstawowy.
Na poniższym diagramie przedstawiono wpływ rozmiaru podstawowego na obraz:
Proces pokazany na diagramie jest zgodny z następującymi krokami:
- 1: Obraz ma wymiary 210x260, a rozmiar podstawowy jest ustawiony na 424x520.
- B: .NET MAUI skaluje obraz tak, aby był zgodny z rozmiarem podstawowym 424x520.
- C: Ponieważ różne platformy docelowe wymagają różnych rozmiarów obrazu, program .NET MAUI skaluje obraz z rozmiaru podstawowego do różnych rozmiarów.
Napiwek
Używaj obrazów SVG tam, gdzie to możliwe. Obrazy SVG mogą być rozbudowane do większych rozmiarów i nadal wyglądają ostry i czysty. Obrazy oparte na mapach bitowych, takie jak obraz PNG lub JPG, wyglądają rozmyte podczas skalowania w górę.
Rozmiar podstawowy jest określany za pomocą atrybutu BaseSize="W,H"
, gdzie W
jest szerokość obrazu i H
jest wysokością obrazu. W poniższym przykładzie ustawiono rozmiar podstawowy:
<MauiSplashScreen Include="Resources\Splash\splashscreen.svg" BaseSize="128,128" />
W czasie kompilacji ekran powitalny zostanie zmieniony na poprawną rozdzielczość platformy docelowej. Wynikowy ekran powitalny jest następnie dodawany do pakietu aplikacji.
Aby zatrzymać zmienianie rozmiaru Resize
obrazów wektorowych, ustaw atrybut na false
:
<MauiSplashScreen Include="Resources\Splash\splashscreen.svg" Resize="false" />
Dodawanie odcienia i koloru tła
Aby dodać odcień ekranu powitalnego, co jest przydatne, gdy masz prosty obraz, który chcesz renderować w innym kolorze do źródła, ustaw TintColor
atrybut:
<MauiSplashScreen Include="Resources\Splash\splashscreen.svg" TintColor="#66B3FF" />
Można również określić kolor tła ekranu powitalnego:
<MauiSplashScreen Include="Resources\Splash\splashscreen.svg" Color="#512BD4" />
Wartości kolorów można określić w formacie szesnastkowym lub jako kolor MAUI platformy .NET. Na przykład Color="Red"
jest prawidłowy.
Konfiguracja specyficzna dla platformy
W systemie Android ekran powitalny jest dodawany do pakietu aplikacji jako Zasoby/wartości/maui_colors.xml i Zasoby/możliwe do rysowania/maui_splash_image.xml. Aplikacje MAUI platformy .NET domyślnie używają Maui.SplashTheme
funkcji , co gwarantuje, że w przypadku obecności ekranu powitalnego zostanie wyświetlony ekran powitalny. W związku z tym nie należy określać innego motywu w pliku manifestu ani w MainActivity
klasie:
using Android.App;
using Android.Content.PM;
namespace MyMauiApp
{
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize)]
public class MainActivity : MauiAppCompatActivity
{
}
}
W przypadku bardziej zaawansowanych scenariuszy ekranu powitalnego stosowane są podejścia dla poszczególnych platform.