Jeśli chcesz naprawdę coś Różnica, proponuję ci moje podejście:
Zrobiłem funkcję podpowiadania JavaScript do utworzenia kolejnego WebView ("webvie dziecko" W "), które mogę używać jak iframe i wypełnić treścią, tak ze stosowania JS mogłem zrobić:
insertWebView (x,y,w,h,"<div>.......</div>").
trzeba popracować jednorazową do stabilish sposób komunikować zarówno WebViews, ale Masz pomysł. Poniżej znajdziesz źródło mojej funkcji insertWebView dla inspiracji.
Udoskonalenie było niesamowite, ponieważ te niewielkie wyświetlenia stron internetowych typu "iframe" nie tylko wyświetlały się znakomicie, ale takie rzeczy jak świecące przeskoki, multitouch (teraz są to różne odsłonacze!) Itp. Zapewniały niemal natywne wrażenia.
Zrobiłem też rozszerzenie, aby użyć natywnego przeciągania i upuszczania między przeglądarkami.
Prawdopodobnie nie było to bardzo wydajne pod względem pamięci, ale jeśli chodzi o wrażenia użytkownika, uwierz mi, że było to warte wysiłku, tysiąc razy.
powodzenia!
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);
}
Można znaleźć kilka odpowiedzi tutaj: http://touchpunch.furf.com/ – EliSherer