我不確定你到底在哪裏出錯了,但這裏有一些樣板代碼用於測試我的嵌入式WebViews。我要指出,我主要針對蜂窩(3.x中),但你沒有」指定這樣:
下面是簡單的示例佈局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/FrameLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</FrameLayout>
現在,這裏是爲活動支持者代碼:
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.ConsoleMessage;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.FrameLayout;
import android.widget.Toast;
public class WebViewTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
final String TAG = "webview test";
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
FrameLayout vg = (FrameLayout) findViewById(R.id.FrameLayout1);
WebView webView = new WebView(this);
vg.removeAllViews();
vg.addView(webView);
WebSettings settings = webView.getSettings();
settings.setSupportZoom(false);
settings.setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onConsoleMessage(ConsoleMessage cm) {
Log.i(TAG, cm.messageLevel() + ": " + cm.message() + " -- From line " + cm.lineNumber() + " of " + cm.sourceId());
return true;
}
});
webView.addJavascriptInterface(new Object() {
@SuppressWarnings("unused")
public void foo() {
Log.i(TAG, "----- FOO CALLED -----");
Toast.makeText(WebViewTestActivity.this, "foo called", Toast.LENGTH_LONG).show();
}
}, "android");
String html = "<!DOCTYPE html><html><body style=\"background:black;color:white;padding:20px;\"><a href=\"javascript:android.foo()\">CLICK ME!</a><div><label>HTML5 number input: <input type=number /></label></div></body></html>";
webView.loadDataWithBaseURL("http://yourOptionalBaseUrl.com/", html, "text/html", "utf-8", null);
}
}
...這就是你需要有一個嵌入式html5頁面。你也可以把你的HTML頁面到您的「資產」文件夾,並使用加載:
webView.loadUrl("file:///android_asset/page.html");
或嵌入就像
或只是一個單一的資源指向它使用相同的負載URL服務器從之前
webView.loadUrl("http://www.yourpage.com/android?param=custom");
...我希望這有助於語法...
等等......什麼?你是想**縮放頁面,還是設置webview的寬度**?根據我的經驗,HTML5和Android WebView可以很好地結合在一起。 – 2011-12-27 18:21:59
我真的對HTML5和Android WebView有不好的體驗。頁面太大而不適合視圖。 Android5和HTML5存在兼容性問題。 – 2011-12-28 07:26:17
同樣在這裏,視口標籤中的內容寬度不起作用 – drogon 2012-11-26 20:45:32