SOUI中通过pos的标志如:[, {, }, ],这4个标志可以相对于前一个及后一个兄弟窗口,但是有时候希望相对于不是前后窗口的兄弟窗口,比如一个通过一个中心窗口同时定义它的上下左右4个窗口,这个时候应该如何处理?

其实SOUI是支持相对于任意一个兄弟窗口的,但是定义方法有点复杂,所以在之前的博客文章中都没有介绍。

定义的方法是这样的:

首先被参考窗口(假定为窗口A)必须要指定窗口的ID属性,有了ID(假定id=100),其它窗口才能引用它(这里指定name属性是不行的,系统只会通过ID去查询这个兄弟窗口)。

然后一个窗口(假定为窗口B)要相对于窗口A布局,只需要在pos中指定为如:pos="sib.left@100:-20,sib.bottom@100:30,@100,@100",坐标定义中的sib.left,sib.bottom用来指定这两个坐标是相对于被引用窗口的left,bottom的值,坐标中的100:20,100:30刚代表相对于ID为100的兄弟窗口的left向偏移20像素及bottom向偏移30像素。这里的负数是代表偏移方向,和没有sib.xxx时的负值意义不同。

下面看下demo中的示例XML(demo/uires/xml/page_layout.xml):

    <window skin="skin_page_icons" pos="[5,150,-10,-10" id="1236"><text pos="|0,|0" offset="-0.5,-0.5" font="adding:20" colorText="#ff000066">alpha test</text><text pos="5,5" id="100" visible="0">ref text</text><button pos="sib.left@100:10,sib.bottom@100:10,@100,@25" name="btn_hidetst" tip="click me to hide me and see how the next image will move">ref id:100</button></window>

PS:这个定义方法有点山寨,将就着用吧,关键是能解决问题 :)

第三十一篇:SOUI布局之相对于特定兄弟窗口相关推荐

  1. 【手写 Vue2.x 源码】第三十一篇 - diff 算法 - 比对优化(下)

    一,前言 上篇,diff 算法-比对优化(上),主要涉及以下几个点: 介绍了如何对儿子节点进行比对: 新老儿子节点可能存在的 3 种情况及代码实现: 新老节点都有儿子时,diff 的方案介绍与处理逻辑 ...

  2. Python之路(第三十一篇) 网络编程:简单的tcp套接字通信、粘包现象

    一.简单的tcp套接字通信 套接字通信的一般流程 服务端 server = socket() #创建服务器套接字server.bind() #把地址绑定到套接字,网络地址加端口server.liste ...

  3. “约见”面试官系列之常见面试题第三十一篇之vue-router得守卫(建议收藏)

    目录 全局前置守卫 #全局解析守卫 #全局后置钩子 #路由独享的守卫 #组件内的守卫 #完整的导航解析流程 全局前置守卫 你可以使用 router.beforeEach 注册一个全局前置守卫: con ...

  4. 第三十一篇 玩转数据结构——并查集(Union Find)

    1.. 并查集的应用场景 查看"网络"中节点的连接状态,这里的网络是广义上的网络 数学中的集合类的实现 2.. 并查集所支持的操作 对于一组数据,并查集主要支持两种操作:合并两个数 ...

  5. IntelliJ IDEA快速入门 | 第三十一篇:在IntelliJ IDEA 2020.3.3中添加Tomcat镜像并部署Web工程

    写在前面 讲完模板以后,咱们来说一下如何在IntelliJ IDEA当中去创建Java Web的工程.这里,我们主要分两种情况来讲,第一种是如何创建静态的Java Web工程,另外一种是如何创建动态的 ...

  6. Java 欧拉工程 第三十一篇【考察英国货币面值的组合问题】

    题目: 在英国,货币是由英镑£,便士p构成的.一共有八种钱币在流通: 1p, 2p, 5p, 10p, 20p, 50p, £1 (100p) 和 £2 (200p). 要构造£2可以用如下方法: 1 ...

  7. 三十一、Java多线程编程(下篇)

    @Author:Runsen @Date:2019/11/07 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业 ...

  8. 【Visual C++】游戏开发笔记三十一 回归季:游戏开发资料整理打包下载专栏行文思路整理

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/8147229 作者:毛星云    邮箱: h ...

  9. 【Visual C++】游戏开发笔记三十一 回归季 游戏开发资料整理打包下载 专栏行文思路整理

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

最新文章

  1. SpringBoot注入数据的方式
  2. 微服务实战(四):服务发现的可行方案以及实践案例
  3. 比较强得一个个性签名
  4. hdu3691(无向图最小割的求解)
  5. oracle服务未启动失败,windows服务未启动导致 ORA-12560和RMAN-00554错误 | 信春哥,系统稳,闭眼上线不回滚!...
  6. 使用eclipse生成文档(javadoc)
  7. (三)微调VGG16以对服装进行分类
  8. 华为自研操作系统最快秋季面市;马化腾谈华为事件;微信支付回应遭封禁 | 极客头条...
  9. mysql使用命令访问数据库_mysql命令操作数据库
  10. Struts2之OGNL表达式与值栈对象及常用标签的使用
  11. linux集群100道单选题面试试题系统工程师中级试题(4)
  12. 从C# 3.0说以人为本(二)—— LINQ语法结构
  13. mongodb dbref java_Spring DATA MongoDB @DBref查询,or和and联合查询
  14. 问卷星图片自动提取小程序
  15. SPSS软件入门常识
  16. BatchNorm和LayerNorm——通俗易懂的理解
  17. 心灵捕手影评,觉得很好。看一部好电影就像读一本好书。
  18. React学习笔记之四---抽离组件
  19. 计算机只报数字怎么调成音乐,电脑怎么设置一锁屏音乐就停?
  20. 论php安全性,Ofstar和phpind论坛安全性分析

热门文章

  1. python自动化运维开发-Python自动化运维开发----基础(七)元组
  2. Python实现单链表
  3. SpringBoot------全局异常捕获和自定义异常
  4. Java静态初始化,实例初始化以及构造方法
  5. powerdesigner逆向工程,从数据库导出PDM
  6. OAF[1]开发环境的配置
  7. Tomcat - ClassFormatException的解决方法
  8. Thinkpad T420 指纹开机 win10 解决方案
  9. Win2008 远程时提示“要登录到此远程计算机,您必须被授予允许通过终端登录登录的权限“的解决方法
  10. maven的pom.xml用<exclusion>解决版本问题