【问题标题】:Multiple CordovaWebViews in one Android activity?一个 Android 活动中有多个 CordovaWebViews?
【发布时间】: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


    【解决方案1】:

    这是可行的。科尔多瓦指南确实提供了一些提示。

    还假设 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;
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2015-05-06
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多