AIR mobile的精益和平均表

时间:2012-08-07 18:23:35

标签: actionscript-3 flash mobile air

我确信很多人都需要这个,但到目前为止我还没有找到一个好的解决方案。

环境:使用Flash CS6创建的iOS和Android AIR应用。

我要做的是:显示一个表(5列,200行)。没什么特别的,只是文本数据。该表应该是可排序的并且响应于轻扫手势而平滑地滚动。

DataGrid组件太“重”,不推荐用于移动设备。对此有一个简单的解决方案吗?

3 个答案:

答案 0 :(得分:1)

我还没有尝试过,但是Mad Components(技术上它是扩展的Mad Components lib)有一个UIDataGrid类。

除此之外,由于您的网格/表仅打算显示文本,因此您可能需要尝试从Adobe提供组件。他们的网格很灵活,因此可能很“重”。

由于您只想渲染文本,因此您不会为在网格内渲染较重的对象(复选框,按钮等)付出代价。性能(仅在网格内呈现文本时)可以接受。

答案 1 :(得分:1)

对于桌面显示(甚至是花哨的)我会使用StageWebView,当然如果你能负担不能覆盖任何东西。 下面的快速示例:

webView = new StageWebView();
webView.viewPort = new Rectangle(0, 44, 480, 756);
webView.loadString('<html><head><style type="text/css">tr:nth-child(odd)    { background-color:#eee; } tr:nth-child(even)    { background-color:#fff; } .header_button { width:100%;}</style></head><body><table width="200" border="1"><tr><td><input name="Name" type="button" value="Name" class="header_button"></td><td>Id</td></tr><tr><td>Mark</td><td>0</td></tr><tr><td>Bob</td><td>1</td></tr></table></body></html>');

webView.stage = stage;

你应该阅读文档,因为loadString是非常有限的:)看到使用这个类的所有可能的方法,但这个想法应该现在种植在你身上:)可以使用CSS,JQuery等,滚动非常快:)

答案 2 :(得分:0)

忘记Flex DataGrid,即使使用静态文本,您也无法获得可接受的滚动性能(我的实时数据网格大约为5fps)。

可行的方法是使用自定义List的常规LabelItemRenderer和标题的按钮组。您可以非常轻松地使渲染器看起来像网格。

我没有测试Alex Harui's list based grid,但它应该开箱即用。如果没有,你应该明白这个想法。只需滚动自己的基于AS3的渲染器,即使快速滚动,性能也应超过25fps。我在iPad2上大约30岁。