对于verticalLayout中占位符
占位符:
<?xml version="1.0" encoding="UTF-8"?>
<Window size="800,600" mininfo="600,400" caption="0,0,0,32" sizebox="4,4,4,4">
<VerticalLayout bkcolor="#FFF0F0F0" bkcolor2="#FFAAAAA0">
<!-- 标题栏区 -->
<HorizontalLayout height="32" bkcolor="#FFE6E6DC" bkcolor2="#FFAAAAA0">
<VerticalLayout />
<VerticalLayout width="100" bkcolor="#FFFF0000">
<Button name="minbtn" text = "小" tooltip="最小化" float="true" pos="0,5,22,24" width="23" normalimage=" file='SysBtn\MinNormal.bmp' " hotimage=" file='SysBtn\MinFocus.bmp' " pushedimage=" file='SysBtn\MinFocus.bmp' "/>
<Button name="maxbtn" text = "大" tooltip="最大化" float="true" pos="22,5,44,24" width="23" normalimage=" file='SysBtn\MaxNormal.bmp' " hotimage=" file='SysBtn\MaxFocus.bmp' " pushedimage=" file='SysBtn\MaxFocus.bmp' " />
<Button name="restorebtn" visible="false" tooltip="还原" float="true" pos="22,5,44,24" width="23" normalimage=" file='SysBtn\StoreNormal.bmp' " hotimage=" file='SysBtn\StoreFocus.bmp' " pushedimage=" file='SysBtn\StoreFocus.bmp' " />
<Button name="closebtn" text = "关" tooltip="关闭" float="true" pos="44,5,74,24" width="28" normalimage=" file='SysBtn\CloseNormal.bmp' " hotimage=" file='SysBtn\CloseFocus.bmp' " pushedimage=" file='SysBtn\CloseFocus.bmp' "/>
</VerticalLayout>
</HorizontalLayout>
</VerticalLayout>
</Window>
其中,
<VerticalLayout />
<VerticalLayout width="100" bkcolor="#FFFF0000">
<Button name="minbtn" text = "小" tooltip="最小化"
中第一个 为占位符,如果没有指定,则认为是占width的一半。
对于VerticalLayout的占位符指定width宽度,对于HorizontalLayout的占位符要提供height。
宽度为20时,只显示小了
当左右两侧都有占位符时
占位符:
宽度为60时,只显示了小和大,对于关闭按钮并没有显示出来
*
HorizontalLayout 的占位符
同理:对于HorizontalLayout 的基准则是从最上面和最下面开始的
这一部分可以参考
Alberl–2013 duilib入门简明教程 – 界面布局(9)
控件位置:
此部分
Alberl–2013 duilib入门简明教程 – 界面布局(9)
- button未指定位置和宽高时
对于此处button按钮没有指定位置时,由于在水平布局中,则button按钮布满整个水平布局
- 对于没有指定位置,但指定宽高时
- pos在前,控件大小由height指定
- 对于指定位置和指定宽高时,pos后两位为0时,控件大小由height和width控制,且pos 在height 的前面
- 对于pos放height后面时,
控件大小由pos指定
总结:
控件位置由pos的第一个点指定,没有pos时则从基准位置上开始算起的。
控件大小:pos 和height 的位置 谁在后面由谁决定。为了方便后期控件大小调整,一般建议pos的后两位写0,0,且pos放前面,只提供控件位置,控件大小则由后面的height属性来控制
如:
<Button name = "minbtn" text = "小" float = "true" pos = "40,0,0,0" height="30" width="38" bkcolor = "FFFF0000" />
占位符再次示例:
对于HorizontalLayout布局来说
1.占位符后面再也没有东西时
<HorizontalLayout bordercolor="ff00008" bordersize="4,4,4,4">
<Button name="zhi_btn" text="你好" padding="10,0,0,0" width="70" height="35" bkimage="bg1.png"/>
<Control bkcolor="ffff0000"/>
</HorizontalLayout>
2.给占位符控制宽度时,且只有一个占位符时,基准是从左开始的
<HorizontalLayout bordercolor="ff00008" bordersize="4,4,4,4">
<Button name="zhi_btn" text="你好" padding="10,0,0,0" width="70" height="35" bkimage="bg1.png"/>
<Control bkcolor="ffff0000" width="20"/>
</HorizontalLayout>
3.text的占位符
4.给占位符没有指定宽度时,沾满整个控件,当后续还有控件时,对于水平布局来说,是从右侧开始的基准
<HorizontalLayout bordercolor="ff00008" bordersize="4,4,4,4">
<Button name="zhi_btn" text="你好" padding="10,0,0,0" width="70" height="35" bkimage="bg1.png"/>
<Control bkcolor="ffff0000" width="20"/>
<Text name="name_txt" text="中国" textpadding="0,5,0,0" width="70" height="35" align="center" bkimage="bg1.png "/>
<Text bkcolor="ff000000"/>
<Text name="" text="你好呀" padding="5,0,0,0" width="70" height="35" bkimage="bg1.png "/>
</HorizontalLayout>
5.上述4的东西
<HorizontalLayout bordercolor="ff00008" bordersize="4,4,4,4">
<Button name="zhi_btn" text="你好" padding="10,0,0,0" width="70" height="35" bkimage="bg1.png"/>
<Control bkcolor="ffff0000" width="20"/>
<Text name="name_txt" text="中国" textpadding="0,5,0,0" width="70" height="35" align="center" bkimage="bg1.png "/>
<Text bkcolor="ff000000"/>
<Text name="" text="你好呀" padding="5,0,0,0" width="70" height="35" bkimage="bg1.png "/>
<Text name="" text="好" padding="5,0,0,0" width="70" height="35" bkimage="bg1.png "/>
</HorizontalLayout>
6.有两个没有指定宽度的占位符时
7.有两个没有指定宽度的占位符,有三个控件时,占位符会被平分
8.
9.有4个占位符时