选择对话框中经常出现标签页,这里我们将会了解如何创建它们。

分页组

在应用程序的选择窗口中经常出现典型的标签页。在窗口的顶部会出现一系列的标签。用户可以通过点击相应的标签来查看不同的选项集合。当你有很多选项而无法在一个屏幕中完全显示的时候非常有用。

XUL也提供了一种方法来创建这样的对话框。包含五种新的元素,下面详细的介绍这几个元素。

tabbox 最外层的格子,含有顶部的标签和标签页。

tabs 含有独立标签页的内部格。即这是一排标签

tabpanels 页面的容器

tabpanel 一个单独的页面的主体。你可以将一个页面的内容放在里面。第一个tabpanel对应于第一个标签页,第二个对应第二个,等等。

元素tabbox含有两个子元素,一个tabs元素和一个tabpanels元素。用法如下:

<tabbox id="tablist">

  <tabs>

    <!-- tab elements go here -->

  </tabs>

  <tabpanels>

    <!-- tabpanel elements go here -->

  </tabpanels>

</tabbox>

元素tab放在tabs里面,这与常规的box很像。元素tab与box其实没有什么不同的。Tab可以容纳任何类型的元素。不同的是,tab的面板一次只显示一个页面,与deck很相像。

每个标签页的内容应该放到每个tabpanel元素内部。他们不是在tab元素内部的。Tab元素的内容出现在顶部。

每个tabpanel元素成为显示时的一个页面。最大的页面的尺寸用作整个tabbox的尺寸。

分页组实例

例子1:

<tabbox>

  <tabs>

    <tab label="Mail"/>

    <tab label="News"/>

  </tabs>

  <tabpanels>

    <tabpanel id="mailtab">

      <checkbox label="Automatically check for mail"/>

    </tabpanel>

    <tabpanel id="newstab">

      <button label="Clear News Buffer"/>

    </tabpanel>

  </tabpanels>

</tabbox>

这里有两个标签页,一个mail一个news。当点击news标签的时候,带有'Clear News Buffer'按钮的页面会出现。

当前选择的标签元素有一个selected属性值为true。这可以改变当前选择的标签页。一次只能有一个标签的selected属性为true。

标签页的位置

最后,你可以改变标签页的位置以使他们出现这个页面的任意位置。没有特殊的语法。你可以简单的使用orient和dir属性来实现。注意在布局的时候记住tab元素就像一般的格子,而tabbox元素更像是常规的竖直容器,tabs元素更像是默认为水平的容器格子。

例如,要将标签放到左边,可以将tabs元素的朝向改为竖直的。然后调整tabbox使其具有水平朝向。这会使得标签出现在左边而不是顶部。注意改变tabpanels元素的朝向没有影响,因为标签页是相互覆盖的。

也可以通过将tabs元素放在tabpanels元素后面来实现将标签放在右边或者下面。或者,也可以将tabbox的dir属性设置为reverse来实现。但是你最好将标签放在上面,否则在某些流行的主题下可能看起来不是很好。

为查找文件对话框添加标签页。

让我们为查找文件的对话框添加第二个panel。我们将会创建一个选项标签(并默认选择)来包含一些搜索选项。这可能不是最好的接口。但我们使用它来说明标签的使用。顶部的文字和搜索选择各种需要放在第一个标签中,我们将会添加一些选项在第二个标签中。进度条和按钮可以放在主窗口中,在标签外部。

<vbox flex="1">

 

<tabbox selectedIndex="1">

  <tabs>

    <tab label="Search"/>

    <tab label="Options"/>

  </tabs>

  <tabpanels>

   <tabpanel id="searchpanel" orient="vertical">

 

    <description>

     Enter your search criteria below and select the Find button to begin

     the search.

    </description>

 

    <spacer style="height: 10px"/>

 

    <groupbox orient="horizontal">

      <caption label="Search Criteria"/>

 

      <menulist id="searchtype">

        <menupopup>

          <menuitem label="Name"/>

          <menuitem label="Size"/>

          <menuitem label="Date Modified"/>

        </menupopup>

      </menulist>

      <spacer style="width: 10px;"/>

      <menulist id="searchmode">

        <menupopup>

          <menuitem label="Is"/>

          <menuitem label="Is Not"/>

        </menupopup>

      </menulist>

 

      <spacer style="height: 10px"/>

      <textbox id="find-text" flex="1" style="min-width: 15em;"/>

 

    </groupbox>

   </tabpanel>

   <tabpanel id="optionspanel" orient="vertical">

    <checkbox id="casecheck" label="Case Sensitive Search"/>

    <checkbox id="wordscheck" label="Match Entire Filename"/>

   </tabpanel>

 </tabpanels>

</tabbox>

元素tab硬件放在了窗口的主要内容外面。你可以看到两标签,search和options。点击每一个都会将相应的标签页显示出来。如图中显示,两个选项出现在第二个标签上。第一个标签看起来与之前的更像,除了有顶部的标签之外。

下一节,我们来看看如何创建内容的网格(grid)

文档标签和贡献者

标签: 
 此页面的贡献者: ziyunfei, JumuFENG
 最后编辑者: ziyunfei,