在SOUI中将自定义配置信息写到布局文件中

SOUI的布局XML文件保存布局必须的信息。特定场合中,用户可能会需要在布局中指定业务需要处理的属性。

比如启程输入法的皮肤。有的皮肤支持高分屏,有的皮肤不支持。对于这个场景,比较理想的方案是直接在皮肤的布局文件中指定当前皮肤是否支持高分屏。

程序解析到这个自定义属性再决定后续的逻辑。

下面是启程输入法皮肤的相关配置:

<SOUI 
  name="wnd_composition" 
  resizable="0" 
  wndType="normal"
  translucent="1"
  toolwindow="1"
>
  <user autoScale="true"/>
  <!-- .... -->
</SOUI>

注意上面的user结点。

这个结点,SOUI内核不会处理。

在界面初始化完成后,这些自定义的XML结点会通过调用SHostWnd::OnUserXmlNode这个虚函数传递到业务层。

业务层重载这个函数实现对自定义的属性的处理。

posted @ 2023-01-18 15:59  启程软件  阅读(264)  评论(0编辑  收藏  举报