【发布时间】:2012-09-12 16:53:49
【问题描述】:
CordovaWebView 是在 cordova 1.9 中引入的。 http://docs.phonegap.com/en/2.0.0/guide_cordova-webview_android.md.html
有人尝试将多个 webviews 放在一个活动中吗?它会起作用吗?推荐吗?
【问题讨论】:
标签: cordova cordova-2.0.0
CordovaWebView 是在 cordova 1.9 中引入的。 http://docs.phonegap.com/en/2.0.0/guide_cordova-webview_android.md.html
有人尝试将多个 webviews 放在一个活动中吗?它会起作用吗?推荐吗?
【问题讨论】:
标签: cordova cordova-2.0.0
这是可行的。科尔多瓦指南确实提供了一些提示。
还假设 MyActivity 扩展了 DriodGap 然后需要
1) 覆盖init() 方法
2) 更改第一个(原始视图)的尺寸,使其不会占据整个屏幕
this.appView.setLayoutParams(new LinearLayout.LayoutParams(
[desired width],
[desired height],
));
3) 创建一个新的 CordovaWebView,将其 LayoutParams 设置为类似于第一个。然后将其添加到根视图:
this.root.addView(cwv2);
4) 现在应该会显示两个 Web 视图。但是如果两个视图中都有Inputs,你会发现两个inputs中都有焦点。
5) 要摆脱双焦点问题,请插入以下代码:
this.appView.requestFocus(View.FOCUS_DOWN);
this.appView.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_UP:
if (!v.hasFocus()) {
v.requestFocus();
}
break;
}
return false;
}
});
【讨论】: