我需要在Android中显示技术数据表,其中包含数字和许多列。该表必须比显示宽,即它应垂直滚动(滚动行)和水平滚动(滚动列)。
我的第一个问题是使用标准ListView
,其中包含TextView
水平排列的项目,使其比使用固定宽度的屏幕更宽,并将其放在HorizontalScrollView
中。
但后来我尝试将一个巨大的HTML表加载到WebView
中,使用固定宽度并在overflow: scroll
容器内进行样式设置,并且它完美无缺,并且没有任何明显的性能问题。 为什么不呢?你看到有什么缺点吗?用户体验非常有限,我想我可以使用Javascript轻松管理它。
答案 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链接,因此只有在按照以下部分所述处理页面导航时才要小心。
另外,如果您需要对表中的数据进行认真的操作,我建议将其设置为原生。