Nếu bạn muốn thực sự làm cho một sự khác biệt, tôi khuyên bạn nên tiếp cận của tôi:
Tôi đã thực hiện chức năng JavaScript có thể gọi để tạo một WebView khác ("webvie con w ") mà tôi sẽ sử dụng như Iframe và điền với nội dung, vì vậy từ các ứng dụng JS tôi có thể làm:
insertWebView (x,y,w,h,"<div>.......</div>").
Bạn đã làm một số công việc một thời gian để stabilish một cách để comunicate cả WebViews, nhưng bạn có được ý tưởng. Vui lòng tìm bên dưới đính kèm nguồn hàm insertWebView của tôi để lấy cảm hứng.
Cải tiến thật tuyệt vời, vì những khung nhìn trang web nhỏ này không chỉ hoạt động tuyệt vời mà còn có các công cụ như mở rộng ghi đè, cảm ứng đa điểm (giờ đây là các lần xem web khác nhau!).
Tôi cũng đã thực hiện tiện ích mở rộng để sử dụng tính năng kéo và thả gốc giữa các lần xem web.
Có lẽ nó không hiệu quả về trí nhớ, nhưng về mặt trải nghiệm người dùng, tôi tin rằng nó đáng để nỗ lực, hàng ngàn lần.
chúc may mắn!
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);
}
Bạn có thể tìm thấy một số câu trả lời ở đây: http://touchpunch.furf.com/ – EliSherer