GacUI 响应式布局
时间:2023-09-03 02:48:02 | 来源:网站运营
时间:2023-09-03 02:48:02 来源:网站运营
GacUI 响应式布局:效果如图:
结构比较简单。GacUI提供了如下4种响应式布局的元素:
- View:你直接设定每一个布局的具体的样子
- Stack:这个布局元素里面的布局元素会按他们的大小依次变化
- Group:这个布局元素里面的其他布局元素会同时变化
- Fixed:这个布局里面的元素不随着上级的要求而变化
最后给一个Container,会根据自己的尺寸来调用装在里面的布局元素的LevelDown或者LevelUp函数,从而实现自动变化。
所以这个例子写法就很简单:
最外面是一个View,View里面的两个子布局分别是Group和Fixed,代表了有左边的按钮的样子,还有没有左边但是有菜单的按钮的样子。Group里面装着一排左边的按钮以及右边的列表,而每一个按钮里面还是一个View,View里面的两个子布局分别是有文字和没有文字的时候的样子。
因此当窗口被缩小的时候,首先Container会问最外层的View能不能继续缩,而这个时候View会问Group能不能继续缩,Group查看了每一个按钮发现他们可以去掉文字,因此成功缩小一级。然后窗口再缩小,Group发现按钮已经没有办法继续变小了,于是通知View,View觉得第一层View缩小到这里已经差不多了,于是切换到第二个View——带菜单的模式。
真是容易啊!
后面很快就出一个Release,然后把globalization和localization的文字支持工作做了,接着就可以用这套响应式布局的工具来实现Ribbon了。等Ribbon做好了,我就把GacUI_Controls/DocumentEditor的菜单都改成Ribbon。
距离GacUI 1.0又近了一步=_,=