UX標記
Fuse主要被用來做這么兩類事兒:
一類是用來創建App或者原型,主要是編寫跨平臺的JavaScript邏輯,另外就是為原生App創建組件、UI視圖和設計,這兩類事兒都是通過UX標記來進行主體表述的。
UX標記實際上是基于XML的文件格式,有點XML經驗的用戶都能輕松上手。詳細的功能、深度的解讀,請參考UX標記文檔。
用App標簽新建應用
單獨創建應用或原型,使用<app>標簽:
<App Background="#436EEE">
<Text>Hello, world!</Text>
</App>
在<App>標簽內,可以嵌入任何Node、Behavior或Theme這些類型的標簽。上面的例子簡單的用默認的字體顯示了一段文字。
App標簽自身負責引導整個App,并處理應用程序的生命周期和主題事務。
使用Background屬性設置App根視圖的背景色。
UX 標簽
UX文檔都是由若干XML標簽組成,每個可用的UX標簽都相當于一個用Uno編碼的類,每個標簽還對應一個或多個runtime對象。
這些可用的標簽(類)可分為如下類別:
- App類代表一個應用的根(the root),有也只能有一個節點(Node)
- 相當多的Node類型,主要都是些UI元素
Behavior類的標簽用來修改節點,主要有如下分類:
- 手勢
- 觸發器
- 腳本
- 視覺特效,應用于各元素
- 樣式(Styling)使各組件保持統一的視覺表現,避免大量重復的數據
主題
App提供一個主題設置,Theme定義了各標準組件的外觀,如下列所示:
<App Theme="..name of theme..">
如不指定,App會默認一個缺省設定叫做GraphicsTheme。
原生主題(NativeTheme)
當使用NativeTheme時, Fuse會應用目標平臺的原生控制,如下所示:
<pre>
<App Theme="Native">
<StackPanel>
<Button />
<Switch />
<Slider />
</StackPanel>
</App>
</pre>
此例中,所有顯示的控制器都采用iOS和安卓的原生樣式,而桌面預覽中并不會出現。
如果你既想使用Native原生控制,又想使用桌面預覽,那可以用NativeWithFallback主題,這樣就會在iOS和安卓上用原生控制,而在桌面預覽會退用Basic主題。
圖片主題(GraphicsTheme)
GraphicsTheme是App的缺省主題,它能讓你的App在所有平臺上都保持一致的外觀,除了這些:
狀態欄在不同平臺上會表現不同
TextInput- 這是個高層級控件,由于依賴原生平臺的控制,這里缺省是不會被渲染的。所以要么你自定義它的樣式或者換用BasicTheme。
使用GrapicsTheme主題的好處是:
通過Fuse的實時預覽窗,你可以在PC或Mac上預覽你的App,用戶體驗會比使用iOS和安卓模擬器要好很多。
在全平臺上,你的設計和動畫效果,看起來、用起來均保持一致。
因為GraphicsTheme是缺省值,所以無需特意寫上,但如果實在需要,那就看這兒:
<App Theme="Graphics">
或者這樣:
<pre>
<App>
<GraphicsTheme />
</App>
</pre>
創建自己的GraphicsTheme
擴展定制GraphicsTheme也是可行的,比如要給Slider滑動條和Button按鈕定義特別的外觀。
自定義GraphicsTheme的方式是,把它當成一個基礎類來使用, 象這樣:
<pre>
<GraphicsTheme ux:Class="MyGraphicsTheme">
<Button>
</Button>
</GraphicsTheme>
</pre>
這樣的話,在App標簽里要這么寫:
<pre>
<App>
<MyGraphicsTheme />
</App>
</pre>
也可以給它創建一個全局別名,像這樣:
<MyGraphicsTheme ux:Global="MyGraphics" />
那樣的話,在App標簽里要這么寫:
<pre>
<App Theme="MyGraphics">
...
</App>
</pre>
基本主題(BasicTheme)
這個BasicTheme主題實際上就是以GraphicsTheme為基礎,加上一些缺省的Fuse頁面,并且在設計上采用了谷歌的material design設計理念。
如果你設計UI時需要一個起點,該主題會幫到你并在全平臺上保持一致的外觀。
<App Theme="Basic">
原文鏈接:趙趙811http://www.lxweimin.com/p/55a6a612a32e
Tag:Fuse, Fuseapp, Fusetools, Fuse手冊, native app
發布時間:2016年01月02日
博客被黑,挪窩簡書安家……