分享

[XUL学习]XUL Tutorial(九) Box窗口布局

 命運之輪 2010-03-03

窗口布局是解决一个窗体中元素的摆放与对齐的问题。

在XUL最常用的就是box布局。

  • box
    通过修改orient为”horizental”,表示元素水平摆放。为”vertical” 表示元素垂直摆放。
  • hbox
    元素水平摆放
  • vbox
    元素垂直摆放
  • groupbox
    成组框。可以摆放多个元素。它会显示一个框,还可以有标题。
  • radiogroup
    与groupbox类似。只不过,里面所有的radio按钮都编成一个组,只能有一个被选中。

那么一个box布局的元素只能有一种摆放方向。但box中还可以嵌套box。这样,box+spacer+元素使用flex属性就可以很好的安排元 素在一个窗体中的布局了。完善我们的findfile窗体为:

<vbox flex=”1″>

  <description>
    Enter your search criteria below and select the Find button to begin
    the search.
  </description>
 
  <hbox>
    <label value=”Search for:” control=”find-text”/>
    <textbox id=”find-text”/>
  </hbox>

  <hbox>
    <spacer flex=”1″/>

    <button id=”find-button” label=”Find” default=”true”/>
    <button id=”cancel-button” label=”Cancel”/>
  </hbox>
</vbox>

效果为:

box中的子元素如果设置为可变,那么当box发生变化时,子元素也会发生变化。当子元素未设置flex时,这个子元素在水平方面不会发生变化,但 在竖直方面可能会发生变化。这是由于box有一个align的属性缺省为stretch,它表示其中的子元素会发生纵向扩展。那么align有以下几个 值:

  • start
    如果是水平的box,它就是顶端对齐。如果是竖直的box,它就是左对齐。
  • center
    居中
  • end
    如果是水平的box,它就是底端对齐。如果是竖直的box,它就是右对齐。
  • baseline
    文本线对齐,只可以用在水平box上。
  • stretch
    自动扩展

可以看出align与box本身的方向相反。那么box还有一个同方向的属性设置是pack,它有以下几个值:

  • start
    对于水平的box,它就是左对齐。对于竖直的box,它就是顶端地齐。
  • center
    居中
  • end
    对于水平的box,它就是右对齐。对于竖直的box,它就是底端对齐。

因此pack和align是用来控制不同的方向。因此可以组合出9种不同的位置。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多