我有一個很長的tabBar,它是水平滾動的,我希望選中的標籤在最左邊對齊。例如,如果我選擇中間的選項卡,它應該在最左側顯示。我有下一個和上一個按鈕來選擇下一個和上一個選項卡。因此,如果現在通過單擊prev按鈕選擇左側最大選項卡的任何選項卡,它應該在最左側可見。總的來說,我希望選中的選項卡在最左側可見。滾動標籤面板的標籤欄
任何幫助將不勝感激。
我有一個很長的tabBar,它是水平滾動的,我希望選中的標籤在最左邊對齊。例如,如果我選擇中間的選項卡,它應該在最左側顯示。我有下一個和上一個按鈕來選擇下一個和上一個選項卡。因此,如果現在通過單擊prev按鈕選擇左側最大選項卡的任何選項卡,它應該在最左側可見。總的來說,我希望選中的選項卡在最左側可見。滾動標籤面板的標籤欄
任何幫助將不勝感激。
最簡單的如果你有一個tabButtons的修復大小。 通過這種方式,您可以計算出您必須滾動到一邊的程度。 一個好的開始將是設置tabBar.setScrollable({direction:'horizontal'})。
但無論如何。對於手機或平板電腦來說,這似乎不太合適。你應該想出另一個想法。
我工作圍繞它,並得到了一個解決方案的小動作在一個tabpanel的activeitemchange將做任務
TabPanelActiveItemChange:功能(集裝箱,價值,屬性oldValue,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);
}
我有滾動方向:水平,並且標籤的寬度根據標籤的文本是自動的。我試過的是你可以從http://stackoverflow.com/questions/16685963/sencha-touch-scroll-to-last-tab-on-tabbar得到,但它沒有做我想要的東西 – 2014-10-22 08:57:11
你能解釋它是如何不是做你想做的事? – Dinkheller 2014-10-22 13:29:44