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
- Наследование
- Атрибуты
Требования к 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 |
Срабатывает при закрытии экрана-заставки приложения. |