Sencha touch 滚动选项卡面板的选项卡栏

Sencha touch 滚动选项卡面板的选项卡栏,sencha-touch,Sencha Touch,我有一个水平滚动的长选项卡,我希望所选的选项卡在最左边对齐。例如,如果我选择了选项卡的中间部分,它应该在最左侧可见。我有“下一步”和“上一步”按钮来选择“下一步”和“上一步”选项卡。因此,如果现在通过单击prev按钮选择了最左边右边的任何选项卡,那么它应该在最左边可见。总的来说,我希望所选选项卡在最左侧可见 任何帮助都将不胜感激。如果您有固定大小的选项卡按钮,这将是最简单的。 这样你就可以计算出你需要滚动到哪一边。 一个好的开始是设置tabBar.setScrollable{direction:

我有一个水平滚动的长选项卡,我希望所选的选项卡在最左边对齐。例如,如果我选择了选项卡的中间部分,它应该在最左侧可见。我有“下一步”和“上一步”按钮来选择“下一步”和“上一步”选项卡。因此,如果现在通过单击prev按钮选择了最左边右边的任何选项卡,那么它应该在最左边可见。总的来说,我希望所选选项卡在最左侧可见


任何帮助都将不胜感激。

如果您有固定大小的选项卡按钮,这将是最简单的。 这样你就可以计算出你需要滚动到哪一边。 一个好的开始是设置tabBar.setScrollable{direction:'horizontal'}


但无论如何。对于手机或平板电脑来说,这似乎是个糟糕的设计。你应该想出另一个主意。

我解决了这个问题,并在选项卡面板的activeitemchange中找到了一个解决方案

TabPanelActiveItemChange:函数容器、值、旧值、eOpts{

        var count = container.innerItems.length;
        var currentIndex = Ext.Array.indexOf(container.innerItems, value);
        var tabBar = container.getTabBar();
        // to keep the selected item in left or visible in smaller width screen.
        var totalWidth = container.innerItems[count - 1].tab.element.getX() - container.innerItems[0].tab.element.getX() + container.innerItems[count - 1].tab.element.getWidth();
        if (totalWidth > window.innerWidth) {
            var widthToScroll = container.innerItems[currentIndex].tab.element.getX() - container.innerItems[0].tab.element.getX();
            var scroller = tabBar.getScrollable().getScroller();
            scroller.scrollTo(widthToScroll, 0, true);
        }

我有滚动方向:标签的水平和宽度根据标签的文本自动调整。我尝试的是你可以从中得到,但它没有做我想要的事情。你能解释一下它没有做你想做的事情吗?