4

CordovaWebView 是在 cordova 1.9 中引入的。 http://docs.phonegap.com/en/2.0.0/guide_cordova-webview_android.md.html

有人尝试将多个网络视图放在一项活动中吗?它会起作用吗?推荐吗?

4

1 回答 1

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 视图。但是如果两个视图中都有输入,您会发现两个输入中都有焦点。

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;
    }
});
于 2012-09-18T04:00:39.727 回答