SplashScreen Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece um evento de demissão e informações de local da imagem para a tela inicial do aplicativo.
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
- Herança
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Exemplos
O exemplo de tela Splash demonstra como recuperar um objeto SplashScreen em seu manipulador de eventos ativado, quando o aplicativo é iniciado.
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);
Você pode usar o objeto passado para o manipulador de eventos ativado para obter informações sobre o evento ativado. No exemplo, o objeto contém informações sobre uma ativação de inicialização e é um objeto webUILaunchActivatedEventArgs (JavaScript) ou um objeto LaunchActivatedEventArgs (C#/C++/VB), dependendo da linguagem de programação. A propriedade Kind neste objeto permite distinguir entre diferentes tipos de ativação (como ActivationKind.launch ou ActivationKind.search).
Comentários
Acesse esse objeto do manipulador de eventos ativado do aplicativo usando a propriedade SplashScreen no objeto de evento que é passado para o manipulador.
Para JavaScript
Responda a eventos ativados em seu manipulador de eventos ativado. Para saber como responder a eventos ativados, confira Ciclo de vida do aplicativo.
Se você notar uma cintilação durante a transição para a tela inicial estendida, adicione onload=""
à marca desta forma: <img id="extendedSplashImage" src="./windows.applicationmodel.activation/images/splash-sdk.png" alt="Splash screen image" onload="" />
. Isso ajuda a evitar cintilação fazendo com que o sistema aguarde até que sua imagem seja renderizada antes de mudar para a tela inicial estendida.
Além disso, se você usar o carregamento de fragmentos para carregar uma página de tela inicial estendida, ainda poderá notar uma cintilação entre quando a tela inicial do Windows é ignorada e quando sua página é exibida. Você verá essa cintilação porque o carregamento de fragmentos começa a carregar sua página de tela inicial de imitação de forma assíncrona, antes que o manipulador de eventos ativado conclua a execução. Você pode evitar essa cintilação sem êxito evitando o uso do carregamento de fragmentos para carregar sua página de tela inicial estendida (conforme demonstrado pelo exemplo de tela inicial). Quando suas tarefas de carregamento adicionais forem concluídas (também conforme demonstrado pelo exemplo de tela inicial), você poderá navegar até a página main do aplicativo. Como alternativa, se você quiser continuar o uso do carregamento de fragmentos em sua página de tela inicial estendida, também poderá evitar a cintilação obtendo um adiamento de ativação e respondendo a eventos ativados de forma assíncrona. Obtenha um adiamento para um evento ativado chamando a activatedOperation. Método getDeferral .
Para C#/C++/VB
Responda a eventos ativados sobrecarregando o método do manipulador de eventos ativado correspondente. Por exemplo, use OnLaunched para responder a eventos de ativação ActivationKind.Launch . Para saber como responder a eventos ativados, confira Ciclo de vida do aplicativo.
Se você observar uma cintilação durante a transição para a tela inicial estendida, consulte a seção Comentários em Como estender a tela inicial (HTML) para obter ajuda.
A propriedade SplashScreen está disponível em todas as classes Windows.ApplicationModel.Activation .
Propriedades
ImageLocation |
As coordenadas da imagem da tela inicial do aplicativo em relação à janela. |
Eventos
Dismissed |
Aciona quando a tela inicial do aplicativo é ignorada. |