SDL中文论坛

标题: 双朝向模板控件 [打印本页]

作者: ancientcc    时间: 2016-11-5 20:33
标题: 双朝向模板控件
本帖最后由 ancientcc 于 2017-1-8 21:31 编辑

双朝向指的是竖屏和横屏。双朝向模板控件指的是有那么种模板控件,在竖屏、横屏有不一样布局,虽然两种布局,但处理时用同一C代码。

为什么要存在这种控件?举个例子,对聊天界面,手机上运行时是竖着布局,换到PC/Pad上时是横着布局。虽然两者看去不同,但内中逻辑基本一样,为开发、维护等方便,程序要用同一个窗口类去处理。

操作步骤



如何定义cfg
横屏

它定义在包含它的窗口cfg中,不过由于是模板控件,强烈建议把模板控件定义为宏,然后宏定义放在单独的宏文件。举个例子,对内置的聊天模板(_tpl_chat),它定义成宏GUI__CHAT_WIDGET,然后放在<gui>/default/macros/template.cfg。
  1. #define GUI__CHAT_WIDGET
  2.         [stacked_widget]
  3.                 definition="default"       
  4.                 id="_tpl_chat"
  5.                 ......
  6.         [/stacked_widget]
  7. #define
复制代码


竖屏
放在<gui>/portrait.cfg。
  1. [portrait]
  2.         [stacked_widget]
  3.                 definition="default"
  4.                 id="_tpl_chat"
  5.                 ......
  6.         [stacked_widget/]

  7.         [stacked_widget]
  8.                 另一个双朝向模板控件
  9.         [stacked_widget/]
  10. [/portrait]
复制代码


Studio暂不支持生成双朝向模板控件,可以用以下方法生成这两套cfg。





欢迎光临 SDL中文论坛 (http://www.libsdl.cn/bbs/) Powered by Discuz! X3.3