簡體   English   中英

Android / ios:Titanium Appcelerator水平滾動

[英]Android/ios: Titanium Appcelerator horizontal scrolling

我正在使用適用於Android / ios的Titanium Appcelerator設計視圖。我需要設計一個時間選擇器(水平)。 我設計了水平視圖並在其中輸入了值。 在此處輸入圖片說明

但是,不知道如何選擇箭頭下方完美的值。 以及最后一個數字將如何居中(箭頭下方)。 請指導。

碼:

var win1 = Titanium.UI.createWindow({  
    title:'Tab 1',
    backgroundColor:'#fff'});
var scrollAlbums = Ti.UI.createScrollView({
   bottom: 10,
   contentHeight: Ti.UI.SIZE, 
   contentWidth: Ti.UI.SIZE, 
   height: 95,
   layout: 'horizontal',
   showHorizontalScrollIndicator: false,
   showVerticalScrollIndicator: true, 
   scrollType: 'horizontal',
    horizontalWrap: false,
   width: Ti.UI.FILL 
});
var data=[];
var circle=[];
for(var i=0;i<20;i++){
    circle[i] = Titanium.UI.createLabel({
        text:i,
        height:50,
        width:50,   
        borderRadius:25,
        backgroundColor:'#336699'});
    scrollAlbums.add(circle[i]);
}
win1.add(scrollAlbums);

我修改了代碼,以在滾動結束時記錄中間數字:

var win1 = Titanium.UI.createWindow({  
    title:'Tab 1',
    backgroundColor:'#fff'});
var scrollAlbums = Ti.UI.createScrollView({
   bottom: 10,
   contentHeight: Ti.UI.SIZE, 
   contentWidth: Ti.UI.SIZE, 
   height: 95,
   layout: 'horizontal',
   showHorizontalScrollIndicator: false,
   showVerticalScrollIndicator: true, 
   scrollType: 'horizontal',
    horizontalWrap: false,
   width: Ti.UI.FILL 
});
var circleWidth = 50;
function pick(e) {
  if (e.type === 'dragend' && e.decelerate) {
    return;
  }
  console.info('Number: ' + Math.round((e.source.contentOffset.x + (e.source.size.width / 2)) / circleWidth));
}
scrollAlbums.addEventListener('scrollend', pick);
scrollAlbums.addEventListener('dragend', pick);
var data=[];
var circle=[];
for(var i=0;i<20;i++){
    circle[i] = Titanium.UI.createLabel({
        text:i,
        height:circleWidth,
        width:circleWidth,   
        borderRadius:circleWidth/2,
        backgroundColor:'#336699'});
    scrollAlbums.add(circle[i]);
}
win1.add(scrollAlbums);
win1.open();

您需要同時收聽scrollenddragend因為scrollend僅在dragend減速時才會觸發。 然后,使用scrollView的偏移量加上其總寬度的一半和圓圈的寬度,可以計算出中間的數字。

但是,就像羅賓所說的那樣,您最好使用ScrollableView並與hitRectclipViews一起播放,以hitRect顯示所選頁面(編號),還顯示其中的一些左右頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM