WebView是一种嵌入式浏览器组件,允许在原生应用中显示网页内容。HTML表格则是使用<table>
标签及其相关元素(<tr>
, <td>
, <th>
等)创建的结构化数据展示方式。
WebView webView = findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
String html = "<html><body>" +
"<table border='1' style='width:100%'>" +
"<tr><th>姓名</th><th>年龄</th></tr>" +
"<tr><td>张三</td><td>25</td></tr>" +
"<tr><td>李四</td><td>30</td></tr>" +
"</table>" +
"</body></html>";
webView.loadData(html, "text/html", "UTF-8");
import WebKit
let webView = WKWebView(frame: view.frame)
view.addSubview(webView)
let html = """
<html>
<head>
<style>
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: left;
}
</style>
</head>
<body>
<table>
<tr><th>姓名</th><th>年龄</th></tr>
<tr><td>张三</td><td>25</td></tr>
<tr><td>李四</td><td>30</td></tr>
</table>
</body>
</html>
"""
webView.loadHTMLString(html, baseURL: nil)
原因:表格宽度超出WebView容器或未设置响应式布局
解决方案:
table {
width: 100%;
max-width: 100%;
overflow-x: auto;
display: block;
}
原因:CSS未正确加载或存在冲突
解决方案:
!important
覆盖默认样式原因:一次性渲染大量行导致卡顿
解决方案:
解决方案:添加JavaScript实现交互
document.querySelectorAll('tr').forEach(row => {
row.addEventListener('click', () => {
alert('点击了行: ' + row.innerText);
});
});
colspan
和rowspan
创建复杂布局通过合理使用HTML表格和WebView,可以在原生应用中高效展示结构化数据,同时保持与网页相似的交互体验。
没有搜到相关的文章