目錄:
介紹
yoga是facebook打造的一個跨IOS、Android、Window平台在內的布局引擎,兼容Flexbox布局方式,讓界面更加簡單。
Yoga官網:https://facebook.github.io/yoga/
官網上描述的特性包括:
- 完全兼容Flexbox布局,遵循W3C的規范
- 支持java、C#、Objective-C、C四種語言
- 底層代碼使用C語言編寫,性能不是問題
- 支持流行框架如React Native
目前在已開源的鴻蒙組件(https://gitee.com/openharmony-tpc/yoga)的功能現狀如下:
- native層和接口已經打通
- 支持自定義xml屬性來控制布局(通過YogaLayout)
- 設置布局中不支持Image控件(onDrawCanvas暫不支持主動回調,所以yoga沒辦法掃描到它),請使用Text控件替代
- 不支持VirtualYogaLayout
如何使用
首先我們在MainAbility中定義界面路由
然后我們來到MainAbilitySlice,其實就是做了一個向其他界面跳轉的動作,並提前加載yoga的so庫
第一個演示界面
這里yoga向我們展示了動態布局的能力,效果圖如下:
實現的代碼如下: