WebView не отображается правильно

WebView не показывает веб-сайт правильно. Любая помощь будет замечательной! Используемый код работает на всех других сайтах. Не уверен, в чем проблема. Любая вещь, которую я должен добавить? Хорошо работает в Chrome и других браузерах, поэтому не знаю, что делать. Любая помощь будет замечательной!

WebView

Введите описание изображения здесь

Хром

Введите описание изображения здесь

 public class Website extends Activity { WebView myWebView; LinearLayout root; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.website); myWebView = (WebView) findViewById(R.id.webView); root = (LinearLayout) findViewById(R.id.root); WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); myWebView.addJavascriptInterface(new WebAppInterface(this), "Android"); myWebView.setWebViewClient(new WebViewClient()); myWebView.getSettings().setBuiltInZoomControls(true); myWebView.getSettings().setSupportZoom(true); myWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); myWebView.getSettings().setDomStorageEnabled(true); myWebView.loadUrl("http://dspart.org/"); getActionBar().setDisplayHomeAsUpEnabled(true); } public class WebAppInterface { Context mContext; /** Instantiate the interface and set the context */ WebAppInterface(Context c) { mContext = c; } /** Show a toast from the web page */ @JavascriptInterface public void showToast(String toast) { Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show(); } private class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (Uri.parse(url).getHost().equals("http://dspart.org")) { // This is my web site, so do not override; let my WebView // load the page return false; } // Otherwise, the link is not for a page on my site, so launch // another Activity that handles URLs Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent); return true; } } } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN) { switch (keyCode) { case KeyEvent.KEYCODE_BACK: if (myWebView.canGoBack()) { myWebView.goBack(); } else { root.removeView(myWebView); myWebView.removeAllViews(); myWebView.destroy(); this.finish(); } return true; } } return super.onKeyDown(keyCode, event); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: NavUtils.navigateUpFromSameTask(this); root.removeView(myWebView); myWebView.removeAllViews(); myWebView.destroy(); this.finish(); return true; default: return super.onOptionsItemSelected(item); } } } 

Несколько предложений :

Переместите loadUrl() после настройки вашего WebView (я заметил, что в комментариях, но он должен быть там там независимо).

Похоже, что стили отсутствуют на вашей странице. Либо они не загрузились, либо каким-то образом отключены WebView . Попробуйте добавить

myWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); И myWebView.getSettings().setDomStorageEnabled(true);

Также похоже, что WebView увеличен:
Попробуйте удалить
myWebView.getSettings().setUseWideViewPort(true); myWebView.getSettings().setLoadWithOverviewMode(true);

И FYI, вы на самом деле не используете MyWebViewClient для чего-либо и вместо этого полагаетесь на WebViewClient по умолчанию.

Я не знаю, исправляет ли это проблему, но когда вы вызываете loadUrl в WebView, методы WebViewClient вызывается в фоновом потоке. Я не думаю, что вы можете называть материал пользовательского интерфейса непосредственно из фонового потока. См. Как запустить активность из класса потоков в android? Для примера.