2013-04-22 14 views
9

HTMLファイルで作業していない(test.htmlという)はTwitterのブートストラップは、AndroidのWebView

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8" /> 
    <meta name="viewport" content="width=device-width" /> 
    <link href="bootstrap.css" rel="stylesheet" type="text/css"/> 
    <link href="bootstrap-responsive.css" rel="stylesheet" type="text/css"/> 
</head> 
<body> 
<h1>Hello World!!!</h1> 
<a class="btn btn-primary btn-large"> 
    Learn more 
</a> 
</body> 
</html> 

HTMLで、ブートストラップCSSファイルは、資産フォルダに配置されています。 IE/FirefoxでHTMLファイルを開くと、正しく表示されます。しかし、AndroidのWebViewのは

WebView webView = (WebView) findViewById(R.id.webview); 
webView.getSettings().setJavaScriptEnabled(true); 
String url = "file:///android_asset/test.html"; 
webView.loadUrl(url); 

この

IE Renders it like this

のWebViewはこの

WebView Renders it like this

のようにそれをレンダリングするようにIEがそれをレンダリングしているのWebViewのために、この適切に

コードをレンダリングしません。

何が間違っていますか?

+1

あなたはCSSファイル(すなわち404'ingない)をロードしているかどうかを確認するために、あなたのPCにデバイスをフックアップ持っています。 – munch1324

+1

あなたのコードでテストプロジェクトをセットアップしましたが、この問題を再現することはできません。エミュレータやデバイスでも問題は再現できません。あなたの環境、アンドロイドのレベル、ブートストラップのバージョンなどについて詳しく説明できますか? – Philzen

+0

外部ソースからのインポートを使用してcssが(おそらく)発生する可能性があります。 - あなたの説明になる可能性のあるマニフェストに '\t Philzen

答えて

2

エミュレータでテスト

webView.getSettings().setDomStorageEnabled(true); 
+0

これは不要です。ストレージにアクセスすることはありません。 setJavaScriptEnabled(true)もこの特定の例では不要ですが、問題はありませんが、後で使用する予定です。 –

1

この行を追加します - ブートストラップv2.3.2とAndroidのバージョン4.2

ファイルの私のアプリの資産フォルダに:「アンドロイドを追加する

bootstrap-responsive.css 
bootstrap.css 
test.html 

必要がありません.permission.INTERNET "は、アプリのアセットフォルダ内でローカルにCSSファイルが利用できるため、Androidマニフェストで表示されます。

レンダリングのスクリーンショットを以下に示します。 CSSファイルに問題がないかぎり、あなたがそれを見ることができない理由はありません(ブラウザで結果を見ることはできないでしょう)。

enter image description here

関連する問題