我所拥有的是一个简单的WebView应用程序来显示网站。问题是当我在API 16上运行应用程序时,WebView无法始终正确显示表格。如果我重新启动应用程序几次,它最终将加载正常。看似随意,但它会做一些疯狂的事情。我还在API 19,20和21上运行了这个应用程序而没有遇到这个问题。
加载时很好:
当它没有
时
以下是我从项目中获得的代码片段。我还应该注意,我有清单中的互联网权限和在loadUrl之前启用javascript的基础知识。
activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main_webview"
android:layout_width="match_parent"
android:layout_height="match_parent">
</WebView>
MainActivity.java
public class MainActivity extends Activity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.activity_main_webview);
// Enable Javascript
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
mWebView.loadUrl("http://www.mywebsite.com/page.html");
}
在WebView中加载HTML
<div style="z-index: 5001; position: fixed; width: 100%; top: 0px; background-color: white;">
<table style="width: 100%; text-align: center;">
<tbody>
<tr>
<td style="border: 1px solid silver;" id="menu1-t" ><img style="width: 100%; max-width: 60px;" src="images/image.png" ></td>
<td style="border: 1px solid silver;" id="menu2-t" ><img style="width: 100%; max-width: 60px;" src="images/image.png" ></td>
<td style="border: 1px solid silver;" id="menu3-t" ><img style="width: 100%; max-width: 60px;" src="images/image.png" ></td>
<td style="border: 1px solid silver;" id="menu4-t" ><img style="width: 100%; max-width: 60px;" src="images/image.png" ></td>
<td style="border: 1px solid silver;" id="menu5-t" ><img style="width: 100%; max-width: 60px;" src="images/image.png" ></td>
<td style="border: 1px solid silver;" id="menu6-t" ><img style="width: 100%; max-width: 60px;" src="images/image.png" ></td>
</tr>
</tbody>
</table>
</div>
如果有人之前已经看过这个或有任何想法,那么将非常感谢帮助。
答案 0 :(得分:1)
似乎只是在我的表格中添加table-layout: fixed
和box-sizing: border-box
就解决了这个问题。