Поделиться через


SplashScreen Класс

Определение

Предоставляет сведения о событии закрытия и расположении изображения для экрана-заставки приложения.

public ref class SplashScreen sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
class SplashScreen final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public sealed class SplashScreen
Public NotInheritable Class SplashScreen
Наследование
Object Platform::Object IInspectable SplashScreen
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Примеры

В примере экрана-заставки показано, как получить объект SplashScreen в обработчике активированных событий при запуске приложения.

protected override void OnLaunched(LaunchActivatedEventArgs args)
{
    if (args.PreviousExecutionState != ApplicationExecutionState.Running)
    {
        bool loadState = (args.PreviousExecutionState == ApplicationExecutionState.Terminated);
        ExtendedSplash extendedSplash = new ExtendedSplash(args.SplashScreen, loadState);
        Window.Current.Content = extendedSplash;
    }

    Window.Current.Activate();
}
function activated(eventObject) {
    if (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
        // Retrieve splash screen object
        splash = eventObject.detail.splashScreen;

        // Retrieve the window coordinates of the splash screen image.
        SdkSample.coordinates = splash.imageLocation;

        // Register an event handler to be executed when the splash screen has been dismissed.
        splash.addEventListener("dismissed", onSplashScreenDismissed, false);

        // Create and display the extended splash screen using the splash screen object.
        ExtendedSplash.show(splash);

        // Listen for window resize events to reposition the extended splash screen image accordingly.
        // This is important to ensure that the extended splash screen is formatted properly in response to snapping, unsnapping, rotation, etc...
        window.addEventListener("resize", onResize, false);

        // Use setPromise to indicate to the system that the splash screen must not be torn down
        // until after processAll and navigate complete asynchronously.
        eventObject.setPromise(WinJS.UI.processAll().then(function () {
            // Navigate to either the first scenario or to the last running scenario
            // before suspension or termination.
            var url = WinJS.Application.sessionState.lastUrl || scenarios[0].url;
            return WinJS.Navigation.navigate(url);
        }));
    }
}

// Register your activated event handler
WinJS.Application.addEventListener("activated", activated, false);

Для получения сведений об активированных событиях можно использовать объект, переданный обработчику активированных событий. В этом примере объект содержит сведения об активации запуска и является объектом webUILaunchActivatedEventArgs (JavaScript) или LaunchActivatedEventArgs (C#/C++/VB) в зависимости от языка программирования. Свойство Kind этого объекта позволяет различать различные типы активации (например , ActivationKind.launch или ActivationKind.search).

Комментарии

Получите доступ к этому объекту из обработчика активированных событий приложения с помощью свойства SplashScreen объекта события, передаваемого в обработчик.

Для JavaScript

Реагирование на события onactivated в обработчике активированных событий. Сведения о том, как реагировать на активированные события, см. в статье Жизненный цикл приложения.

Если вы заметили мерцание во время перехода на расширенный экран-заставку, добавьте onload="" в тег следующим образом: <img id="extendedSplashImage" src="./windows.applicationmodel.activation/images/splash-sdk.png" alt="Splash screen image" onload="" />. Это помогает предотвратить мерцание, заставляя систему ждать, пока ваше изображение не будет отрисовываться, прежде чем переключиться на расширенный экран-заставку.

Кроме того, если вы используете загрузку фрагментов для загрузки страницы расширенного экрана-заставки, вы по-прежнему можете заметить мерцание между закрытием экрана-заставки Windows и отображением страницы. Вы увидите это мерцание, так как загрузка фрагмента начинает асинхронно загружать страницу экрана-заставки имитации до завершения выполнения обработчика событий onactivated . Вы можете предотвратить это некрасивое мерцание, избегая загрузки фрагментов для загрузки расширенной страницы экрана-заставки (как показано в примере экрана-заставки). После завершения дополнительных задач загрузки (как показано в примере экрана-заставки) можно перейти на страницу main приложения. Кроме того, если вы хотите продолжить загрузку фрагментов на странице расширенного экрана-заставки, можно также предотвратить мерцание, получив отсрочку активации и асинхронно реагируя на события onactivated . Получите отсрочку для активированного события, вызвав activatedOperation. Метод getDeferral .

Для C#/C++/VB

Реагирование на активированные события путем перегрузки соответствующего метода обработчика активированных событий. Например, используйте OnLaunched для реагирования на события активации ActivationKind.Launch . Сведения о том, как реагировать на активированные события, см. в статье Жизненный цикл приложения.

Если вы заметили мерцание во время перехода на расширенный экран-заставку, см. раздел Примечания статьи Расширение экрана-заставки (HTML) для получения справки.

Свойство SplashScreen доступно во всех классах Windows.ApplicationModel.Activation .

Свойства

ImageLocation

Координаты изображения экрана-заставки приложения относительно окна.

События

Dismissed

Срабатывает при закрытии экрана-заставки приложения.

Применяется к

См. также раздел