發布時間:2023-01-18 文章來源:深度系統下載 瀏覽:
Windows 10是美國微軟公司研發的跨平臺及設備應用的操作系統。是微軟發布的最后一個獨立Windows版本。Windows 10共有7個發行版本,分別面向不同用戶和設備。截止至2018年3月7日,Windows 10正式版已更新至秋季創意者10.0.16299.309版本,預覽版已更新至春季創意者10.0.17120版本
1、“連續體驗動畫”是什么 若干周前,微軟發布了Windows應用新的UI設計語言:Fluent Design(流暢設計)。這個設計理念包含四個要素:Material(材質),Motion(動感),Depth(深度)和Lighting(光影)。本文要講解的連續體驗動畫旨在實現Motion。 連續體驗動畫是一類旨在幫助用戶理解下一組UI和上一組UI中直接相關的部分的動畫,一般發生于頁面間導航的時候:比如從物品列表頁面導航至列表中某物品的詳細信息頁面。下面這個來自官方的gif比較直觀地展示了這個動畫的效果: 2、創建連續體驗動畫(使用C#) 一般地,創建連續體驗動畫有下面兩步: ①準備(Prepare)源頁面上的元素,通知系統這些元素將參與連續體驗動畫; ②開始(Start)連續體驗動畫,并向目標頁面的目標元素傳遞一個引用; 在準備階段完畢之后,系統將不會析構指定的元素,并讓它始終顯示在最頂層。按照MSDN的建議,連續體驗動畫應該開始于250毫秒之內,否則這個一直在頂層顯示的元素就會給人一種遲滯感。如果超過3000毫秒都沒有啟動這個動畫,這個動畫和涉及到的元素就會被系統析構,這之后任何嘗試啟動這個動畫的操作就會拋出異常。 為了演示這個操作,我們創建一個叫Connected Animation Test的工程,適當增刪修改MainPage.xaml,使其內容如下: 記得在你的Assets目錄下放一個Test.png,內容是你喜歡的任何圖片。這里我用的是灰色的純色圖片。 同時創建一個DestinationPage,并修改其XAML為下面的內容: 注意,這里就是我們涉及到的兩個元素:源元素SourceImage和目標元素DestinationImage。 連續體驗動畫都是由連續體驗動畫服務來管理的。我們可以通過ConnectedAnimationService.GetForCurrentView()方法來獲得當前視圖的連續體驗動畫服務的實例,注意需要引用名稱空間Windows.UI.Xaml.Media.Animation。這個實例的類型是ConnectedAnimationService,它提供方法PrepareToAnimate()用來準備一個元素,GetAnimation()用來獲取準備好的動畫對象,其返回值是ConnectedAnimation類型;這個類型提供TryStart()方法來啟動動畫。為了更好地演示這個實例,我們進一步完善MainPage.xaml: 和DestinationPage.xaml: 給MainPage中的Button_Click編寫代碼: 在這段代碼中,我們將SourceImage元素列為連續動畫的準備對象,并導航到第二個頁面。記得引用名稱空間: 在目標頁面DestinationPage的代碼中,override掉其基類的OnNavigateTo()方法,用于在頁面被導航至的時候啟動動畫: 本段代碼的作用,是獲取上個頁面創建的“image”動畫,并在目標元素為DestinationImage的情況下啟動動畫。 現在啟動應用程序,觀察頁面間的導航動畫: 可以看到,除了圖像之外的元素是按照常規的導航方式:第一個頁面的Button消失了,第二個頁面的TextBlock出現了;但是我們設置了連續動畫的對象,卻是按照我們的設想進行動畫的。這意味著我們初步構建的平滑動畫完成了。 另外需要提及的是,有時侯在動畫啟動時,目標對象未必被創建,這就會產生異常。這時應該使用類似的TryStartConnectedAnimationAsync()方法,來異步等待目標對象被創建,再執行動畫。 同時,如果你只希望設定某元素的一部分為動畫對象(比如某ListViewItem中的一個Image),你可以使用PrepareToAnimate()方法的另一個重載版本來指定源元素的一部分為動畫對象。IntelliSence功能會詳細講解它的作用。 還有最后一點提示:某些情況下,我們可能需要讓新頁面上的部分元素隨著連續動畫運動,比如下面gif中,動畫元素右側的介紹信息: 我們可以通過TryStart()方法的另一個重載,在第二個參數的位置傳遞一個由希望隨著動畫運動的元素組成的UIElement數組,就像這樣: 在上面的例子中,數組內的DescriptionRoot元素就會跟隨動畫而移動了。 3、不適合使用連續體驗動畫的情況 目標元素需要等待網絡加載:這會使動畫產生嚴重的遲滯感和斷裂感; 目標元素與源元素沒有直接關聯; 不要使元素四處亂飛。 4、總結 連續體驗動畫是使用戶產生“流暢”感覺的重點。正確使用連續體驗動畫來進行頁面導航,并結合Fluent Design的其它部分,將大幅提升用戶體驗。
新技術融合:在易用性、安全性等方面進行了深入的改進與優化。針對云服務、智能移動設備、自然人機交互等新技術進行融合。Windows 10所新增的Windows Hello功能將帶來一系列對于生物識別技術的支持。除了常見的指紋掃描之外,系統還能通過面部或虹膜掃描來讓你進行登入。當然,你需要使用新的3D紅外攝像頭來獲取到這些新功能。 |