在Android中显示宽数据表:使用WebView值得吗?

时间:2015-11-05 16:25:11

标签: android html listview webview scrollview

我需要在Android中显示技术数据表,其中包含数字和许多列。该表必须比显示宽,即它应垂直滚动(滚动行)和水平滚动(滚动列)。

我的第一个问题是使用标准ListView,其中包含TextView水平排列的项目,使其比使用固定宽度的屏幕更宽,并将其放在HorizontalScrollView中。

但后来我尝试将一个巨大的HTML表加载到WebView中,使用固定宽度并在overflow: scroll容器内进行样式设置,并且它完美无缺,并且没有任何明显的性能问题。 为什么不呢?你看到有什么缺点吗?用户体验非常有限,我想我可以使用Javascript轻松管理它。

1 个答案:

答案 0 :(得分:1)

这取决于你。没有严重的限制。可能是,你应该测试一下:

1)一些供应商自己实现WebView;

2)android 4.4之前/之后的webview(已更新为chrome);

3)安全原因(来自off.docs):

  

警告:使用addJavascriptInterface()可以让JavaScript控制您的Android应用程序。这可能是一个非常有用的功能或危险的安全问题。当WebView中的HTML不可信(例如,部分或全部HTML由未知的人或进程提供)时,攻击者可以包含执行客户端代码的HTML,也可能包括攻击者选择的任何代码。因此,除非您编写了WebView中显示的所有HTML和JavaScript,否则不应使用addJavascriptInterface()。您也不应允许用户在WebView中导航到不属于您自己的其他网页(而是允许用户的默认浏览器应用程序打开外部链接 - 默认情况下,用户的Web浏览器会打开所有URL链接,因此只有在按照以下部分所述处理页面导航时才要小心。

另外,如果您需要对表中的数据进行认真的操作,我建议将其设置为原生。