微軟在支援雙螢幕可折疊裝置的開發已經兩年,去年3月的時候,微軟發布適用Flutter支援可折疊裝置預覽,要讓開發人員可以使用Flutter在可折疊裝置上開發應用程式。

現在微軟公開最新的開發進展,之前所開啟的框架、引擎和DisplayFeatureSubScreen拉取請求,現在都已經合併進Flutter儲存庫,同時微軟也釋出新範例,供開發者嚐鮮。

Flutter是目前發展最快速的框架,讓開發者可以使用相同的程式碼,建構跨平臺的應用程式,由於微軟近兩年正在進行雙螢幕裝置開發,而貢獻Flutter可折疊裝置的支援,正好可改進自家雙螢幕可折疊裝置Surface Duo的開發體驗。

微軟提到,可折疊裝置有許多類型,可能使用可彎曲或是可捲曲具彈性的顯示器,開發者的應用程式可以在具有顯示特徵下(Display Feature)的顯示器中,呈現更大的畫面。

所謂的顯示特徵,指的是在顯示器中,可能無法使用或是受到遮蔽的區域,微軟在Flutter添加三種顯示特徵,包括瀏海型(Cutout)、合頁型(Hinge)以及對折型(Fold)。

顯示特徵屬於顯示器的屬性,這類資訊在Flutter由MediaQuery提供,微軟提到,在三種新的顯示特徵中,瀏海型和對折型將較少被使用,因為開發者通常使用Flutter的SafeArea來避開瀏海,而且不需要處理折疊的情況,因為顯示的內容還是連續的,而在對折型裝置上,由於MediaQuery會出現變化,因此小工具也就會自動重建。

目前微軟已經將支援可折疊裝置的MediaQuery拉取請求,合併到Flutter的程式碼儲存庫中,這代表用戶只要使用主要分支,就可以存取一個名為displayFeatures的屬性,部分裝置可以擁有多種顯示特徵,因此該屬性會提供一個列表,開發者也能以簡單的方式,取得合頁型可折疊裝置的可用資訊。

另外,DisplayFeatureSubScreen功能也已經被合併到Flutter主分支中,開發者提到,當用戶想要在Surface Duo這類合頁型可折疊裝置的其中一個螢幕顯示內容時,像是對話視窗,就可以選擇使用DisplayFeatureSubScreen小工具。

這項功能是對話視窗和互動視窗(Modal)的基礎功能,在對話視窗和自訂互動視窗路由拉取請求中被大量使用,現在開發者也可以在主分支中用到DisplayFeatureSubScreen功能。

目前微軟在Flutter中提供可折疊裝置的支援還未完成,除了正在接受審查的對話視窗和自訂互動視窗路由拉取請求,TwoPane工具的拉取請求也已經打開。TwoPane會根據可用空間,決定顯示一個或是兩個小工具,而這項功能可以讓開發者用更簡單的方法,來擴展Flutter應用程式設計,同時適用單螢幕和雙螢幕,甚至是平板電腦和桌上型電腦等更大的螢幕。

開發者可以複製微軟的Flutter分叉,即可以使用全部這些新功能,包括使用TwoPane,讓新的對話視窗避開合頁中間。官方提到,在他們新釋出的範例中,展示了針對雙螢幕裝置的所有設計模式,以及對話視窗和合頁角度的一些操作。

開發者也可以透過範例,了解將這些設計模式,擴展到大螢幕的方法,也就是說,開發者能夠在桌上電腦執行範例,並藉由調整應用程式大小,來查看設計模式在不同場景的表現。

最近釋出的Flutter 2.10正式支援了Windows平臺,使得Flutter應用程式也可以在Windows上執行,微軟現在對Flutter所做的程式碼貢獻,能夠銜接Flutter應用程式從原本行動裝置的小螢幕,到可折疊裝置螢幕,甚至是大螢幕的顯示體驗。

熱門新聞

Advertisement