0

我正在努力使滚动视图向侧面滚动,而不是在钛合金中上下滚动。我需要适用于 iOS 和 Android 的解决方案。

var challengesScrollView= Ti.UI.createScrollView({
    top: '60%',
    height: c1Container.height,
    width: '60%',
    backgroundColor: 'yellow',
    zIndex: 9000,
    /* left & right work too */
    contentHeight:'auto',
});

challengesScrollView.add(c1Container);
challengesScrollView.add(c2Container);
challengesScrollView.add(c3Container);
mainContainer.add(challengesScrollView);

更新:

我的 mainContainer 如下:

var mainContainer= Ti.UI.createView({
    left: '5%',
    right:'5%',
    top: '9%',
    bottom:'15%',
});

c1Container 是:

var c1Container= Ti.UI.createView({
    top:'1%',
    width:'70dp',
    height: '90dp',
    zIndex:20, 
    left:'10dp',
    backgroundColor:'#3b214a',
    borderRadius: 5
});

它包含以下内容:

var c1PicView= Ti.UI.createView({
    width: '55dp',
    height: '55dp',
    top: '5%',
    borderRadius: 5,
    //backgroundColor:'pink',
    zIndex:5
});

var c1Pic= Ti.UI.createImageView({
    image:'girl.jpg',
    width: c1PicView.width,
    height: c1PicView.height,
    zIndex:5
});

var cName= 'Mary';
var c1Name=Ti.UI.createLabel({
    color: 'white',
    text: cName,
    font:{fontSize: '14sp'},
    top: '60dp' 
});

c1Container.add(c1PicView);
c1PicView.add(c1Pic);
c1Container.add(c1Name);

c2 与 c1 相同,只是名称不同

我不知道如何定位 c1Container、c2Container 和 c3Container 等,以便它们只会添加到侧面的视图中。我无法给出实际的像素、左侧或右侧位置,因为滚动视图最多可以有 20 个迷你容器。所有帮助表示赞赏

4

4 回答 4

1

简单的事情是你只需要将layout属性设置为Horizo​​ntal

于 2013-09-18T09:17:25.127 回答
1

事实上,您可以使用ScrollView(它应该适用于 iOS 和 android)。

我刚刚尝试过这段代码,它工作得很好:

var win = Ti.UI.createWindow();

var challengesScrollView = Ti.UI.createScrollView({
    top:             '60%',
    height:          '30%',
    width:           '60%',
    backgroundColor: 'yellow',
    layout:          'horizontal'
});
win.add(challengesScrollView);

function addView() {
    challengesScrollView.add(Ti.UI.createView({
        left: '10dp',
        width: '100dp',
        height: '100dp',
        backgroundColor: '#FF0000'
    }));

    setTimeout(addView, 2000);
}

win.addEventListener('open', addView);

win.open();

此代码每 2 秒向ScrollView添加一个新 View ,并且如您所愿,ScrollView的宽度每次都会更改。

属性layout: 'horizo​​ntal'用于将每个视图水平放置在ScrollView中。因此,您不必计算每个视图的绝对位置。

如果此属性不能解决您的问题,也许您应该共享更多代码(例如容器的构造)。否则,将很难为您提供帮助;)

于 2013-09-17T21:25:49.713 回答
0

对于 iOS:

UIScrollView根据其contentSize属性向不同方向滚动。如果你使contentSize'swidth大于滚动视图的实际宽度,它应该水平滚动。

于 2013-09-17T14:07:02.490 回答
0

在android中使用水平滚动小部件

于 2013-09-17T13:05:23.510 回答