UI库阶段性进展(完成文字列表,样式列表(样式列表可继承))

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配置基本就绪;

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


posted @ 2012-12-14 17:23  健忘猪  阅读(498)  评论(0编辑  收藏  举报