SplashScreen 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供 app 啟動顯示畫面的關閉事件和影像位置資訊。
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 事件處理程式完成執行。 您可以避免使用片段載入來載入延伸啟動顯示畫面頁面, (,如 啟動顯示畫面範例) 所示,防止這種不明顯閃爍。 當您的其他載入工作完成時,也會 (如 啟動顯示畫面範例 所示,) 然後流覽至應用程式的主頁面。 或者,如果您想要繼續使用擴充式啟動顯示畫面頁面中的片段載入,也可以藉由取得啟用延遲,並以異步方式回應 已啟用 的事件來防止閃爍。 呼叫 activatedOperation 以取得啟動事件的延遲。getDeferral 方法。
針對 C#/C++/VB
藉由多載對應的已啟用事件處理程式方法,以回應 Activated 事件。 例如,使用 OnLaunched 來回應 ActivationKind.Launch 啟用事件。 若要瞭解如何響應啟動的事件,請參閱 應用程式生命週期。
如果您在轉換到延長式啟動顯示畫面期間發現閃爍,請參閱 如何擴充啟動顯示畫面中的 一節, (HTML) 以取得協助。
SplashScreen 屬性適用於所有 Windows.ApplicationModel.Activation 類別。
屬性
ImageLocation |
應用程式啟動顯示畫面影像相對於視窗的座標。 |
事件
Dismissed |
關閉應用程式的啟動顯示畫面時引發。 |