Wenn Sie wirklich wollen, um ein machen Unterschied, ich würde Ihnen meinen Ansatz vorschlagen:
Ich habe eine JavaScript-Aufruffunktion zum Erstellen eines anderen WebView ("Kind Webvie w "), dass ich wie ein Iframe und fülle mit Inhalten verwenden würde, so von der JS-Anwendung ich tun kann:
insertWebView (x,y,w,h,"<div>.......</div>").
Sie haben einige einmalige Arbeit zu tun, einen Weg zu stabilish beide WebViews comunicate, aber Du hast die Idee. Im Folgenden finden Sie die Quelle meiner insertWebView-Funktion zur Inspiration.
Die Verbesserung war großartig, da diese kleinen iframe-webviews nicht nur genial waren, sondern auch Sachen wie das leuchtende Overscroll, Multitouch (jetzt sind sie verschiedene Webviews!) Usw. eine nahezu native Erfahrung lieferten.
Ich habe auch eine Erweiterung gemacht, um natives Ziehen und Ablegen zwischen Webviews zu verwenden.
Wahrscheinlich war es nicht sehr effizient Speicher-weise, aber in Bezug auf Benutzerfreundlichkeit glauben Sie mir, es war die Mühe wert, tausend Mal.
viel Glück!
public void insertWebView(int code, int x0, int y0, int w, int h, String url, int vertical, String initContent, String params, int alpha, int rot, int screenId) {
PlasmaWebView webview1 = getWebView(code);
if (webview1 != null) {
if (Conf.LOG_ON) Log.d(TAG, "WEBVIEW: Reusing webview " + code + " at " + x0 + "," + y0 + "," + w + "," + h + " vertical " + vertical+", rot="+rot);
webview1.setVerticalScrollBarEnabled(vertical == 1);
webview1.setHorizontalScrollBarEnabled(vertical != 1);
webview1.move(x0, y0, w, h, Funq.this);
if ((alpha>0) && (alpha<100)) webview1.setAlpha((float)alpha/100);
webview1.setRotation((float)rot/10);
webview1.handleTemplateLoad(url, initContent);
return;
}
if (Conf.LOG_ON) Log.d(TAG, "WEBVIEW: Insert webview " + code + " at " + x0 + "," + y0 + "," + w + "," + h + " vertical " + vertical + " url " + url+" alpha "+alpha+", rot="+rot);
webview1 = new PlasmaWebView(Funq.this.getBaseContext(), code, vertical==1, useHardware, jvs, screenId);
if ((alpha>0) && (alpha<100)) webview1.setAlpha((float)alpha/100);
webview1.setRotation((float)rot/10);
RelativeLayout.LayoutParams p=webview1.createLayout(x0, y0, w, h, Funq.this);
layerContainer.addView(webview1, p);
webview1.handleTemplateLoad(url, initContent);
}
Sie könnten einige Antworten finden Sie hier: http://touchpunch.furf.com/ – EliSherer