Javascript 创建一个可滚动的视图,其中填充了钛合金中的动态按钮网格

Javascript 创建一个可滚动的视图,其中填充了钛合金中的动态按钮网格,javascript,titanium,appcelerator,Javascript,Titanium,Appcelerator,所以我想做的是: 我正在从sqlite数据库加载数据,并将其与一起使用,而。。。isValidRow动态创建一组按钮,我将其设置为静态的顶部和左侧(或右侧)。我发现,如果我将所有按钮的父按钮设置为createView(),并将布局设置为水平,这将创建一个漂亮的网格 var brandView = Ti.UI.createView({ width: 100, height: 100, left: 0, layout: 'horizontal', text

所以我想做的是: 我正在从sqlite数据库加载数据,并将其与
一起使用,而。。。isValidRow
动态创建一组按钮,我将其设置为静态的
顶部
左侧
(或右侧)。我发现,如果我将所有按钮的父按钮设置为
createView()
,并将
布局设置为
水平
,这将创建一个漂亮的网格

var brandView = Ti.UI.createView({  
    width: 100,
    height: 100,
    left: 0,
    layout: 'horizontal',
    textAlign: 'center'
});


while(rows.isValidRow()) {
     var dynamicButton = Ti.UI.createButton({
        width: 10,
        height: 10,
        top: 10,
        left: 10,
        title: rows.fieldByName('name');
    });
    view.add(dynamicButton);

    rows.next();
}
我遇到的问题是,有时屏幕上显示的按钮比一次显示的多,因此按钮向下延伸到可见屏幕下方。因此,我将视图转换为
createScrollView
,并且
布局仍然设置为
水平(或垂直),现在它将Buton并排放置,从屏幕向外延伸到侧面(松开网格放置)。

因此,我的问题是如何使视图可滚动,并使按钮以网格形式出现?

试试看,这个。我认为这对你有帮助

var brandView = Ti.UI.createScrollView({  
    height      : Ti.UI.FILL,
    width       : Ti.UI.FILL,
    contentHeight : "auto",
    backgroundColor : "transparent",
    layout      : "horizontal",
    horizontalBounce :false,
});


while(rows.isValidRow()) {
     var dynamicButton = Ti.UI.createButton({
        width: 10,
        height: 10,
        top: 10,
        left: 10,
        title: rows.fieldByName('name');
    });
    brandView.add(dynamicButton);

    rows.next();
}

将您的品牌视图嵌套在scrollView中,否则它只会水平滚动,如果您希望按钮位于屏幕中央,则不要设置
left
属性,只需设置
top
属性即可。另外,
textAlign
对于
tianium.UI.View
无效

下面是一个填充整个屏幕、向网格添加按钮、居中并嵌套在滚动视图中的示例

var scroller =  Ti.UI.createScrollView({
    height: Ti.UI.FILL,
    width: Ti.UI.FILL,
});
var brandView = Ti.UI.createView({  
    width: Ti.UI.FILL,
    height: Ti.UI.FILL,
    top: 0,
    layout: 'horizontal',
    textAlign: 'center'
});


while(rows.isValidRow()) {
     var dynamicButton = Ti.UI.createButton({
        width: 10,
        height: 10,
        top: 10,
        left: 10,
        title: rows.fieldByName('name');
    });
    view.add(dynamicButton);

    rows.next();
}

scroller.add(brandView);

你能提供任何类型的屏幕截图来了解你想要执行什么。。。