2012-05-21 56 views
1

我有一個窗口,它使用了layout: 'horizontal',當我添加子視圖時,每個都使用width: '50%',這很好,它們都像2階段一樣填充,列表。在滾動視圖中佈置視圖,無法獨立控制佈局和滾動方向

不過,我意識到我需要的內容進行滾動,所以我增加了一個滾動視圖到窗口,並增加了我的孩子欣賞到滾動視圖 - 但沒有奏效。當我在滾動視圖使用layout: 'horizontal',它試圖讓水平的滾動內容 - 所有的子視圖是一個行(僅第2上看到UI)。如果我將其更改爲layout: 'vertical',它滾動正常,但意見在1列格式佈局(一個位於頂層的另一個)

var deals_window = Titanium.UI.createWindow({ 
    title: 'Deals', 
    layout: 'horizontal' 
    }); 

    var scrollView = Ti.UI.createScrollView({ 
    showVerticalScrollIndicator: true, 
    layout: 'horizontal', 
    scrollType: 'vertical', 
    contentWidth: '100%', 
    contentHeight: 'auto', 
    width: '100%', 
    height: 'auto' 

    }); 
    deals_window.add(scrollView); 

我怎樣才能獲得滾動視圖使用「水平」佈局行爲,而垂直滾動...?

回答

0

不要使用水平佈局。試試這個:

var scrollView = Ti.UI.createScrollView({ 
    layout: 'vertical', 
    height: Ti.UI.FILL 
}); 

var row = Ti.UI.createView({ 
    height: Ti.UI.SIZE 
}); 

var view1 = Ti.UI.createView({ 
    width: "50%", 
    left: 0 
}); 

var view2 = Ti.UI.createView({ 
    width: "50%", 
    right: 0 
}); 

row.add(view1); 
row.add(view2); 

scrollView.add(row); 
0

嘗試使用屬性horizo​​ntalWrap:true的scrollView。它可以幫助你!

這裏是代碼:

//window 
var win = Ti.UI.createWindow({ 
    width: '100%', 
    height: '100%', 
    backgroundColor: 'white' 
}); 
//scrollView 
var scrollView = Ti.UI.createScrollView({}i 
    top: 0, 
    width: '100%', 
    height: '100%', 
    contentWidth: '100%', 
    layout: 'horizontal', 
    horizontalWrap: true, 
    scrollType: 'vertical' 
); 
win.add(scrollView); 
//item in scrollView 
for(var i = 0; i < 8; i++){ 
    var itemLabel = Ti.UI.createLabel({ 
     font:{ 
      fontSize: '18' 
     }, 
     left: '2.5%', 
     width: '30%', 
     color: 'black', 
     height: '90' 
     borderRadius: 5, 
     textAlign: 'center', 
     text: 'item '+(i+1), 
     backgroundColor: 'red', 
     verticalAlign: Ti.UI.TEXT_VERTICAL_ALIGNMENT_CENTER 
    }); 
    scrollView.add(itemLabel); 
} 

好了,這樣真的有用,但是,有一個與滾動視圖一個問題時,它可以滾動的最後一排的部分將被覆蓋。所以,我不建議你採用這種方式來解決問題。你可以嘗試更多更好的UI組件的TableView的ListView,爲TableView中只是把你要TableViewRow項目的任何數字,和的ListView剛剛定義的的ItemTemplate這包含你想要的幾個項目。如果您需要更多的細節,只是寫email給我:[email protected]