Sencha Touch - 滚动到TabBar上的最后一个标签

时间:2013-05-22 07:31:54

标签: sencha-touch sencha-touch-2.1

我的应用中有一个包含许多标签的视图。我想把重点放在最后一个上。我可以设置活动标签this.setActiveItem(10),但我无法滚动(以编程方式)标签栏到最后一项。显示第10个选项卡的内容,但隐藏了标签栏上的第10个项目,因此用户可能会感到困惑。

提前多多感谢。

1 个答案:

答案 0 :(得分:3)

一个非常好的问题,许多人可能会觉得这很有用。

首先,需要tabBar的实例,以便我们可以获得 tabPanel activeTab。然后我们可以轻松获得标签项的偏移量。这里,标签项不是指容纳标签内容的容器,而是标签指示器,它可以放在顶部或底部。所以我们只需要从tabBar而不是容器偏移活动标签项

    this.getMyTabPanel().setActiveItem(6);

    var tabBar = this.getMyTabPanel().getTabBar();

    var activeTab = tabBar.getActiveTab();
    var x= activeTab.element.getX();
    var y = activeTab.element.getY();

下一部分是,获取tabBar卷轴的实例。一旦我们得到这个,我们就可以实际滚动它,做我们在上面步骤中所需的位置。

    var scroller = this.getMyTabPanel().getTabBar().getScrollable().getScroller();

    scroller.scrollTo(x,y);

工作demo is here


<强>更新

您还可以使用 -

进行实用滚动时启用动画
scroller.scrollTo(x, y, true);