我们正在开发一个手机应用程序,其中我们需要在手机上显示多列数据。考虑下面这样一个例子:
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|
现在需要并排显示此表格 View 以进行比较。如果我们在手机中显示它,那么用户需要水平滚动才能看到数据。现在可以有超过 20 个项目,因此肯定会有垂直滚动。
在移动设备中显示此类数据的标准方式是什么,用户可以并排比较数据。此应用程序将面向 Android 和 iOS,并使用 Appcelerator 构建以获取更多信息。
Best Answer-推荐答案 strong>
有一次,我用两种不同的方式为 Android 和 iOS 做这件事。在 Android 上:
我用 scrollType : 'horizontal' 创建了一个 ScrollView
然后得到表格的行数并基于此定义滚动高度:
scroll.setHeight(60*(number_of_rows+1));//60是行高
在for循环中,我没有创建表格和tableviewRow,而是创建了一个大 View (width : 600 )并将其添加到scrollView中。所以这会产生一个相当高大的水平 ScrollView 。
- 最后,我将这个水平 ScrollView 添加到另一个 ScrollView 中,现在使用我的设备高度(或者只是
Ti.UI.FILL )
总结如下:
```
var rowsArray = yourContent;
var verticalScroll = Ti.UI.createScrollView({
顶部:0,
宽度:Ti.UI.FILL,
高度: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 中即可
;)
关于android - 移动设计 - 显示多列表格,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/35469998/
|