我们正在开发一款手机应用程序,我们需要在手机上显示多列数据。考虑下面的一个这样的例子:
Commodity Name|Qty at A|Qty at B|Qty at C|Qty at D|Qty at E|
==============|========|========|========|========|========|
Sugar | 10| 500| -| -| 100000|
============================================================
Rice | 100| 100| -| -| 100000|
============================================================
Pulses | 100| 100| -| -| 100000|
现在需要将此表格视图并排显示以进行比较。如果我们在手机中显示它,则需要用户水平滚动以查看数据。现在可以有超过20个项目,因此肯定会有垂直滚动。
在移动设备中显示此类数据的标准方式是什么,用户可以并排比较数据。此应用程序将针对Android和iOS,并使用Appcelerator构建以获取更多信息。
答案 0 :(得分:1)
有一次,我以两种不同的方式为Android和iOS做了这件事。在Android上:
我用scrollType : 'horizontal'
创建了一个scrollView
然后得到表的行数并根据它定义滚动高度:
scroll.setHeight(60*(number_of_rows+1)); //60 is the row height
在for循环中,我没有创建一个表和一个tableviewRow,而是创建了一个大视图(width : 600
)并将其添加到scrollView中。所以这将产生一个相当高和大的水平scrollView。
Ti.UI.FILL
)总结如下: ``` var rowsArray = yourContent; var verticalScroll = Ti.UI.createScrollView({ 顶部:0, width:Ti.UI.FILL, height:Ti.UI.FILL });
var horizontalScroll = Ti.UI.createScrollView({
top: 0,
width: Ti.UI.FILL,
scrollType : 'horizontal',
});
horizontalScroll.setHeight(60*(rowsArray.length+1)); //60 is the row height
var posY = 60;
for (var i = 0; i < rowsArray.length; i++) {
var rowView = Ti.UI.createView({
top: posY,
width: 600,
height: 60,
left: 0
});
posY += 60;
horizontalScroll.add(rowView);
}
verticalScroll.add(horizontalScroll);
win.add(verticalScroll);
对于iOS,您可以将表放在scrollView中 ;)
答案 1 :(得分:0)
试试this。虽然它讨论的是响应式网页设计,但这个概念仍然适用。
它还指出了其他alternatives。
答案 2 :(得分:0)
我正在使用类似的东西,在每个TableViewRow上我都有这样的代码:
$.row.layout = 'horizontal';
var width = parseInt(($.row.width ? $.row.width : Ti.Platform.displayCaps.platformWidth)/columns.length);
for(var i in columns) {
$.row.add(Ti.UI.createLabel({
text:columns[i],
width:width
}));
}
我有一个名为cell的元素,但是你明白了,对吧?