gpt4 book ai didi

mobile - 如何以编程方式创建 dojox.mobile.TabBar?

转载 作者:行者123 更新时间:2023-12-02 17:52:02 25 4
gpt4 key购买 nike

我想创建一个分段控件类型的 dojox.mobile.TabBar,就像本页顶部的那样:

http://download.dojotoolkit.org/release-1.6.0/dojo-release-1.6.0/dojox/mobile/tests/test_iPhone-TabBar.html

查看源代码,我可以看到如何以声明方式执行此操作:

   <ul dojoType="dojox.mobile.TabBar" barType="segmentedControl">
<li dojoType="dojox.mobile.TabBarButton" icon1="images/tab-icon-16.png" icon2="images/tab-icon-16h.png" moveTo="view1" selected="true">New</li>
<li dojoType="dojox.mobile.TabBarButton" icon1="images/tab-icon-15.png" icon2="images/tab-icon-15h.png" moveTo="view2">What's Hot</li>
<li dojoType="dojox.mobile.TabBarButton" icon1="images/tab-icon-10.png" icon2="images/tab-icon-10h.png" moveTo="view3">Genius</li>
</ul>

但我一直无法弄清楚如何以编程方式执行相同的操作。TabBar 是 Dojo 1.6 中的新增功能,但在 http://dojotoolkit.org/api/1.6/dojox/mobile/TabBar 的文档中对此进行了介绍。

但是我的新手仍然对如何以编程方式创建 TabBarButton 并将它们与 TabBar 关联一无所知。我可以在网络上找到多个示例,这些示例展示了如何以声明方式而不是以编程方式执行此操作。

有人知道任何编程示例,或者可以在这里提供一个吗?

最佳答案

要在您的问题中归档以声明方式创建小部件的相同结果,您可以使用以下 JavaScript 代码以编程方式创建它们。

var tabBar = new dojox.mobile.TabBar({barType : "segmentedControl"}, node1);
var button1 = new dojox.mobile.TabBarButton({icon1 : "", icon2 : ""}, node2);
var button2 = ...;
var button3 = ...;
tabBar.addChild(button1);
tabBar.addChild(button2);
tabBar.startup();

因此,从声明式创建转换为编程式创建的规则可以很简单。使用 new 创建 dijit 类的新实例并提供两个参数。第一个参数是 JavaScript 对象,包含启动小部件的属性,取自声明性语法中的 DOM 属性。第二个参数是与小部件关联的 DOM 节点。

dojox.mobile.TabBar这样的小部件是可以包含其他小部件的容器小部件。这些小部件继承自dijit._Container,并且可以使用addChild函数添加子小部件。

不要忘记使用startup来启动容器小部件。该函数告诉容器您已经完成了容器及其子容器的工作。容器小部件通常在 startup 函数中执行一些调整大小的工作。以声明方式创建时会自动调用 startup

关于mobile - 如何以编程方式创建 dojox.mobile.TabBar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6819098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com