DuiLib阅读笔记
2018-03-14 本文已影响0人
zeromemcpy
之前读过一次 好多忘记了 mark一下
阅读的时候 尽量去理解其思想,其优秀的设计 和其逻辑实现
地址:https://github.com/duilib/duilib
DuiLib 是windows下一个出色的皮肤库,通过解析xml生成对应的布局,类似于android的xml布局
DuiLib的控件都是自绘的,不是一个窗口的模式,以前的windows mfc开发的控件窗口是可以用vs工具spy++捕获的
可以先看下目录结构
core.png由所见即所得可知:
UIBase.h 基本UI
UIContainer UI装配器
UIControl UI控件
UIDlgBuilder 对话框构造
UIManager 窗口管理,接管整个app的窗体生命周期
UIMarkup xml解析辅助
UIRender UI渲染,预加载图片,双缓冲绘制图片等
可以看出整个项目的类命名是非常清晰的,都以UI开头,所见即所得,这是非常值得学习的
DuilLib其中提供了五种布局
Layout.png所见即所得,可以看出分别是子布局,水平布局,Tab布局,Title布局,垂直布局
其中以水平布局 和垂直布局最为常用
先看xml的加载
常规xml通常是这样 Xml.pngxml通常可以分为
<? ?>
注释
<name id="1" />
<name id="2">
<key></key>