1

sencha touch 2 有问题。

我试图了解如何实现在 sencha touch 2 中提供导航视图的相同功能,但是....“Ext.NavigationView”组件的每个项目都应该有自己独特的“navigationBar”元素集。例如,我的意思是一组按钮。

我知道我可以做这样的事情:

this.getMain().getNavigationBar().rightBox.removeAll();
this.getMain().getNavigationBar().rightBox.add(this.getSettingButton());
        //where 'getSettingButton' predefined by me a button

并在每次“推送”事件发生时执行此操作(清除“导航栏”并添加适当的按钮集)

当然,我什至可以在“items”属性中使用“layout:card”和“Ext.panel”元素集来实现“Ext.Panel”,每个元素都有唯一的“工具栏”。要控制行为,我可以使用“setActiveItem”方法。

但是,我认为这些方法中的每一个都有点奇怪,不是吗?

我预计这将是实现它的更自然的方法。

很可能我不知道我需要什么。证实我的怀疑。最好的方法是什么。

4

1 回答 1

2

目前,Ext.NavigationView倾向于在“简单”视图之间执行导航。这里的“简单”意味着您的视图只是带有 innerHTML 的面板,而不是带有功能按钮、工具栏等的“复杂”视图。

据我所知,有两种方法可以尝试:

  1. 如果您仍想使用 Ext.NavigationView,您可以通过navigationBar配置、getter 和 setter 将带有标题、项目(按钮、间隔符等)的 NavigationBar 自定义为普通组件。

  2. (推荐)如果您的视图彼此完全不同,您应该使用多个 Ext.Container 和您选择的不同项目(例如,第一个容器带有简单的 HTML 公告,第二个带有一些额外的 Ext.Button,等等) . 简单animateActiveItem()用于动画导航。我想这种方式要灵活得多。

于 2012-04-10T05:23:12.777 回答