GacUI 響應(yīng)式布局
時間:2023-09-03 02:48:02 | 來源:網(wǎng)站運營
時間:2023-09-03 02:48:02 來源:網(wǎng)站運營
GacUI 響應(yīng)式布局:效果如圖:
結(jié)構(gòu)比較簡單。GacUI提供了如下4種響應(yīng)式布局的元素:
- View:你直接設(shè)定每一個布局的具體的樣子
- Stack:這個布局元素里面的布局元素會按他們的大小依次變化
- Group:這個布局元素里面的其他布局元素會同時變化
- Fixed:這個布局里面的元素不隨著上級的要求而變化
最后給一個Container,會根據(jù)自己的尺寸來調(diào)用裝在里面的布局元素的LevelDown或者LevelUp函數(shù),從而實現(xiàn)自動變化。
所以這個例子寫法就很簡單:
最外面是一個View,View里面的兩個子布局分別是Group和Fixed,代表了有左邊的按鈕的樣子,還有沒有左邊但是有菜單的按鈕的樣子。Group里面裝著一排左邊的按鈕以及右邊的列表,而每一個按鈕里面還是一個View,View里面的兩個子布局分別是有文字和沒有文字的時候的樣子。
因此當(dāng)窗口被縮小的時候,首先Container會問最外層的View能不能繼續(xù)縮,而這個時候View會問Group能不能繼續(xù)縮,Group查看了每一個按鈕發(fā)現(xiàn)他們可以去掉文字,因此成功縮小一級。然后窗口再縮小,Group發(fā)現(xiàn)按鈕已經(jīng)沒有辦法繼續(xù)變小了,于是通知View,View覺得第一層View縮小到這里已經(jīng)差不多了,于是切換到第二個View——帶菜單的模式。
真是容易??!
后面很快就出一個Release,然后把globalization和localization的文字支持工作做了,接著就可以用這套響應(yīng)式布局的工具來實現(xiàn)Ribbon了。等Ribbon做好了,我就把GacUI_Controls/DocumentEditor的菜單都改成Ribbon。
距離GacUI 1.0又近了一步=_,=