惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
Y
Y Combinator Blog
I
InfoQ
美团技术团队
罗磊的独立博客
B
Blog RSS Feed
GbyAI
GbyAI
小众软件
小众软件
IT之家
IT之家
Engineering at Meta
Engineering at Meta
Blog — PlanetScale
Blog — PlanetScale
V
V2EX
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
Jina AI
Jina AI
MyScale Blog
MyScale Blog
博客园 - 聂微东
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss

博客园 - 健忘猪

Skynet Pomelo Erlang Elixir 的认识 lua中得栈 Linux多线程编程(不限Linux)【转】 tolua++实现分析 cocos2dx的lua绑定 cocos2d ios 环境搭建 导出 C/C++ API 给 Lua 使用[转] C++中实现回调机制的几种方式[转] 0xcdcdcdcd ,0xdddddddd ,0xfeeefeee ,0xcccccccc ,0xabababab threading COM技术内幕(笔记) UI库阶段性进展(button在文本对齐的基础上增加文本偏移让文本位置更精准) UI库阶段性进展(完成textrender的文字align) UI库阶段性进展(按钮初具雏形) 关于一个GetLevelDesc函数 的认知问题 UI库阶段性进展(把背景图元设定为Wnd基类的成员) UI库阶段性进展(增强图元功能) UI库阶段性进展(增加从xml中某一结点初始化窗口功能) UI库阶段性进展
UI库阶段性进展(完成文字列表,样式列表(样式列表可继承))
健忘猪 · 2012-12-14 · via 博客园 - 健忘猪

xml文件共5个:animation.xml(暂不做解释)

                     dialog.xml

                     stringtable.xml

                     style.xml

                     testbutton.xml

style引用,stringtable引用的内容和关系大致如下:

1 <panel name="testbutton" pos="5,-105,-5,-5" style="panel">
2   <button name="colorbtn1" pos="5,4,45,35" txt="STR|colorbtn1" style="btncolor1"/>
3   <button name="colorbtn2" pos="50,4,90,35" txt="STR|colorbtn2" style="btncolor2"/>
4   <button name="imgbtn1" pos="100,5,150,35" txt="STR|imgbtn1" style="btnimg1"/>
5   <button name="imgbtn2" pos="155,5,265,45" txt="STR|imgbtn2" style="btnimg2"/>
6   <button name="imgbtn3" pos="270,5,330,35" txt="STR|imgbtn3" style="btnimg3"/>
7 </panel>

上面代码中明显一个按钮的描述减少了很多,其中style属性所描述的内容在style.xml中;

 1 <style name="panel">
 2   <att name="bgmode" value="2"/>
 3   <att name="bgimg" value="panelbg.png"/>
 4   <att name="bgstretch" value="5,5,5,5"/>
 5   <att name="fcolor" value="FF000000"/>
 6 </style>
 7 <style name="btncolor1">
 8   <att name="bgmode" value="0"/>
 9   <att name="bgcolor" value="FFFF0000"/>
10   <att name="bghovercolor" value="FF00FF00"/>
11 </style>
12 <style name="btncolor2" inherit="btncolor1"><!--注意可继承-->
13   <att name="disable" value="1"/>
14 </style>
15 <style name="btnimg1">
16   <att name="fcolor" value="FF00FF00"/>
17   <att name="bgmode" value="1"/>
18   <att name="bgimg" value="btnbg.png"/>
19 </style>
20 <style name="btnimg2">
21   <att name="fcolor" value="FF00FF00"/>
22   <att name="bgmode" value="2"/>
23   <att name="bgimg" value="btnbg.png"/>
24   <att name="bgstretch" value="5,5,5,5"/>
25 </style>
26 <style name="btnimg3" inherit="btnimg2">
27   <att name="disable" value="1"/>
28 </style>

注意:style的属性内容是支持继承的,呵呵,可以减少xml的量,增加解析速度;

另外button上的文字:

txt="STR|imgbtn3"

支持从stringtable索引,"STR|"是关键字,表示是索引字符列表中的问题,也可以直接填写文字就好;

这样一来关于xml配置基本就绪;

下面的计划是开始设计换肤,换色调,换文字的功能(这些都是基本支持框架,需要在开始大批量写控件前准备就许,不然到后面在弄就尾大不掉了);